gpt4 book ai didi

ios - RNAppAuth,iOS 构建失败,未知类型名称 'namespace',react-native-app-auth

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:29:38 27 4
gpt4 key购买 nike

我正在尝试将 react-native-app-auth 添加到 Expo 的现有但相当新鲜的项目中。我正在按照您的设置指南进行操作,因此请执行以下步骤:

  • yarn add react-native-app-auth@2.2.0 --dev
  • 添加 pod 'AppAuth', '>= 0.91'
  • cd iso && pod install
  • react-native 链接(编辑:从项目的根路径)

然后我得到:

rnpm-install info Linking react-native-app-auth ios dependency
rnpm-install WARN ERRGROUP Group 'Libraries' does not exist in your Xcode project. We have created it automatically for you.
rnpm-install info Platform 'ios' module react-native-app-auth has been successfully linked

看起来不错。

然后,当我在 XCode 中构建时,出现以下错误:

image

在网上搜索后,我发现它可能与编译器有关,我将其更改为使用 Objective-C++:

image

现在我得到了更多的错误:

image

我也试过:

  • 将目标版本更改为 9.0
  • 再做一次
  • 祈祷🙏

没有任何帮助 :( Xcode 版本 9.3 (9E145)

应用程序.js

{
"expo": {
"sdkVersion": "26.0.0",
"ios": {
"bundleIdentifier": "com.xxx.xxx",
"publishBundlePath": "ios/mobile-xxx/Supporting/shell-app.bundle",
"publishManifestPath": "ios/mobile-xxx/Supporting/shell-app-manifest.json"
},
"android": {
"package": "com.xxx.xxx"
},
"name": "mobile-xxx",
"slug": "mobile-xxx",
"version": "0.1.0",
"isDetached": true,
"entryPoint": "./index.js",
"detach": {
"scheme": "exp997ce9c6b4fd43cfa14f4eede063ecf5",
"iosExpoViewUrl": "https://s3.amazonaws.com/exp-exponent-view-code/ios-v2.4.4-sdk26.0.0-3bd935c7-cdd3-4002-8e44-4df857a675f2.tar.gz",
"androidExpoViewUrl": "https://s3.amazonaws.com/exp-exponent-view-code/android-v2.4.0-sdk26.0.0-e63d9209-070c-4118-b06b-c60e82da0b66.tar.gz"
}
}
}

包.js

{
"name": "mobile-xxx",
"version": "0.1.0",
"private": true,
"devDependencies": {
"jest-expo": "26.0.0",
"react-native-app-auth": "2.2.0",
"react-test-renderer": "16.3.0-alpha.1"
},
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"test": "jest"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"expo": "^26.0.0",
"prop-types": "^15.6.1",
"react": "16.3.0-alpha.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-26.0.0.tar.gz",
"react-native-app-auth": "^2.2.0",
"react-native-router-flux": "^4.0.0-beta.28",
"react-redux": "^5.0.7",
"redux": "^3.7.2"
}
}

更新:我刚刚按照 this 指南设置了一个新的 Expo 应用程序,但出现了完全相同的错误。 😞

最佳答案

问题是在标题搜索路径中有一个导入,它在整个 /ios 文件夹中搜索:$(SRCROOT)/../../../ios/**

如果您碰巧使用 Expo 和 CocoaPods,那么您的 Pods 文件夹中将有 boost-for-react-native 作为依赖项。其实任何依赖boost的包都会出现这个问题。 XCode 也尝试构建 boost,但它有一些非 ObjC 文件,因此它会失败。

为了解决问题:

打开 RNAppAuth.xcodeproj,切换到 Build Settings 选项卡并搜索标题搜索路径。将 $(SRCROOT)/../../../ios/** 行替换为

"$(SRCROOT)/../../../ios/YOUR_PROJECT_NAME",
"$(SRCROOT)/../../../ios/Pods/AppAuth/**",

请注意,这些更改将在使用 npm install(或 yarn)后消失。要使这些更改永久生效,您可以使用 patch-package .

编辑:这个问题已经修复,使用最新版本的包现在应该可以了。

关于ios - RNAppAuth,iOS 构建失败,未知类型名称 'namespace',react-native-app-auth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50002039/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com