首页 > 解决方案 > 构建反应原生 iOS 应用程序时出现 Clang 错误

问题描述

所以我有一个应用程序,我已经工作了几个月了。我在 Ubuntu 上开发并在我的安卓手机和平板电脑上进行了测试。该应用程序是使用基本的 react native 库设置的,我后来还在 expo 中添加了一些我需要的小东西 expo。如果您需要有关此的更多信息,请告诉我。

该应用程序“功能完整”,只需要进行游戏测试和发布。所以很自然地,我需要在 iOS 上启动并运行它。我目前正在租一台可以远程访问的 mac(因为我没有苹果产品)。

现在已经将近一周了,我只是无法克服这个错误(见底部)(或似乎相同/相似错误的变体)。我可以在这台 Mac 上构建一个新的应用程序,所以一切都可以构建反应原生应用程序。我尝试过:删除 pod 并运行

吊舱安装

跑步

吊舱解体 && 吊舱安装

删除节点模块并运行

npm 安装

最初我有一个错误,抱怨一些库是手动链接的,这很糟糕,所以我取消了它们的链接,现在我收到了这个错误。当我在 xcode 中运行时,我正在使用工作区文件打开该应用程序。如果通过命令行运行,我也会收到错误,即

npx react-native run-ios

使用不同的模拟器没有区别......不确定它是否在构建过程中达到了那么重要的程度。我认为这与 RN 库的链接和这个新的自动链接事物有关。有什么想法吗?有大量带有此错误(或接近错误)的帖子具有各种“解决方案”,但似乎没有任何区别。绝大多数人在删除 pod 文件夹或运行 pod deintegrate 命令后通过 pod install 来解决这个问题。查看错误,您可以看到它打印出大量库,其中一些是我安装的,另一些可能是我的 3rd 方库附带的,但有些看起来像核心库,甚至可能是构建 RN 的低级库(但是老实说,我不知道)。

Undefined symbols for architecture x86_64:
  "_OBJC_METACLASS_$_UMAppDelegateWrapper", referenced from:
      _OBJC_METACLASS_$_AppDelegate in AppDelegate.o
  "_OBJC_CLASS_$_UMAppDelegateWrapper", referenced from:
      _OBJC_CLASS_$_AppDelegate in AppDelegate.o
  "_OBJC_CLASS_$_UMModuleRegistryProvider", referenced from:
      objc-class-ref in AppDelegate.o
  "_OBJC_CLASS_$_UMModuleRegistryAdapter", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

[编辑] 另外,我的库文件夹是空的。我注意到其他 RN 项目在查看屏幕截图时没有。可能的问题?

[编辑 2] 用户提出了以下问题解决方案:错误“_OBJC_CLASS_$_AppDelegate”,引用自:“和错误:链接器命令失败,退出代码 1(使用 -v 查看调用)” 给出了一些指示错误的。如果“符号”是文件,那么它们似乎不存在。这是尝试添加这些文件时出现的内容(屏幕上有更多字体和一些 pod 文件。): 在此处输入图像描述

标签: iosreact-nativeclang

解决方案


推荐阅读