尝试在模拟器或设备上构建 React Native 项目时出现 Xcode 错误

Posted

技术标签:

【中文标题】尝试在模拟器或设备上构建 React Native 项目时出现 Xcode 错误【英文标题】:Xcode Error when trying to build a React Native project on simulator or device 【发布时间】:2016-05-31 21:04:23 【问题描述】:

我对原始 react native 应用程序目录的权限存在一些问题,并决定将我的 .js 文件存储在单独的文件夹中作为备份,并从头开始在同一目录中重新创建项目,希望能解决问题。

新的 react native 项目似乎已经成功创建,因为我能够在模拟器中构建和测试基本应用程序。然后我重新导入了我备份的 .js 文件并链接了我在 xcode 中使用的特定库。当我现在尝试从 xcode 构建项目到我的 iphone 时,我收到以下错误:

Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_RCTEventEmitter", referenced from:
  _OBJC_CLASS_$_RCTKeyboardObserver in libReact.a(RCTKeyboardObserver.o)
"_OBJC_METACLASS_$_RCTEventEmitter", referenced from:
  _OBJC_METACLASS_$_RCTKeyboardObserver in libReact.a(RCTKeyboardObserver.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我也环顾四周,发现一些参考资料提到我可能缺少一个 .m 文件,但这对我来说似乎有点奇怪,因为我是从头开始创建这个项目的,但是当我从头开始创建这个项目时,事情可能已经改变了导入了我的 .js 文件?

我还被告知升级以响应原生 0.26 - 升级发生了,但问题仍然存在。

这个应用程序以前可以工作,所以我真的找不到问题出在哪里。

任何帮助将不胜感激。

谢谢!

【问题讨论】:

【参考方案1】:

我确实通过从“产品 > 清理”(或 Shift+CMD+K清理项目来解决此问题

【讨论】:

对答案的 2 个赞和对问题的 0 个赞。永远不明白。【参考方案2】:

我最终从头开始重新启动整个应用程序,并从我的备份中放置了 .js 文件。现在似乎一切正常。

【讨论】:

【参考方案3】:

升级到 react-native 0.27.1 后,我遇到了同样的问题。

在我清除了我的./ios/build 文件夹后,问题就解决了。

【讨论】:

感谢分享!

以上是关于尝试在模拟器或设备上构建 React Native 项目时出现 Xcode 错误的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 10 - 无法构建 React Native 应用程序

在 iOS 设备上使用 Redux-Persist 和 React Native 时崩溃

React Native 和 RNFirebase iOS 版本构建失败

gl-react-native 不在物理 iOS 设备上显示图像

无法为 android 运行 react native release build

以真实设备为目标时,无法在 IOS 中构建 react-native