Xcode 无法构建 React Native 项目,架构 x86_64 的未定义符号
Posted
技术标签:
【中文标题】Xcode 无法构建 React Native 项目,架构 x86_64 的未定义符号【英文标题】:Xcode can not build React Native Project, Undefined symbols for architecture x86_64 【发布时间】:2020-06-04 02:19:53 【问题描述】:我的 Xcode 命令行工具和 MacOS 升级后,我的项目无法使用 Xcode 构建。
运行npx react-native run-ios
工作正常,可以唤醒模拟器调试。
在 Xcode 上构建时,我收到此错误:
Undefined symbols for architecture x86_64:
"___isOSVersionAtLeast", referenced from:
-[GDTCORApplication init] in libGoogleDataTransport.a(GDTCORPlatform.o)
___28-[GDTCORStorage storeEvent:]_block_invoke.22 in libGoogleDataTransport.a(GDTCORStorage.o)
-[GDTCORStorage appWillForeground:] in libGoogleDataTransport.a(GDTCORStorage.o)
___35-[GDTCORStorage appWillBackground:]_block_invoke in libGoogleDataTransport.a(GDTCORStorage.o)
-[GDTCORStorage appWillTerminate:] in libGoogleDataTransport.a(GDTCORStorage.o)
+[GULSecureCoding unarchivedObjectOfClasses:fromData:error:] in libGoogleUtilities.a(GULSecureCoding.o)
+[GULSecureCoding archivedDataWithRootObject:error:] in libGoogleUtilities.a(GULSecureCoding.o)
...
ld: symbol(s) not found for architecture x86_64
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
【问题讨论】:
github.com/facebook/react-native/issues/23183 太棒了,现在部分解决了我的问题,现在当我使用npm run ios
时,它只适用于工具链 Swift 5.2.1(一些依赖项是使用 carthage 构建的);反之亦然,Xcode 只能使用最新的工具链构建。
【参考方案1】:
正如 cmets 中所讨论的,此问题是由使用旧工具链引起的。
最近发布的 Firebase 至少需要 Xcode 10.3。更多详情https://github.com/firebase/firebase-ios-sdk/issues/5219
【讨论】:
以上是关于Xcode 无法构建 React Native 项目,架构 x86_64 的未定义符号的主要内容,如果未能解决你的问题,请参考以下文章
XCode 13 构建错误 - 无法找到或使用自动链接库 'swift_Concurrency' - React Native 0.64-65
如何使用 Xcode 12 Beta 4 构建 React-Native 项目?
以真实设备为目标时,无法在 IOS 中构建 react-native
如何通过 Xcode 将 React Native iOS 应用程序构建到设备?
react-native 无法构建 ios:(错误 xcode Flipper)Typedef 重新定义不同类型('uint8_t'(又名'unsigned char')与'enum clockid_