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_

安装 React-Native-camera 后无法构建