xcode 10.1 架构 arm64 的未定义符号

xcode 10.1 Undefined symbols for architecture arm64

我已经处理了很多有类似问题的 SO 线程,但其中 none 似乎解决了我的错误。

在我们的项目中有多个 "TARGETS"。只有一个目标 - 第一个创建的目标 - 正确归档。当我尝试归档其他目标时,我们遇到了这个错误

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_DynamicEventData", referenced from:
      objc-class-ref in DataManager.o
      objc-class-ref in DataReader.o
  "_OBJC_CLASS_$_DynamicDataService", referenced from:
      objc-class-ref in DataManager.o
  "_OBJC_CLASS_$_DynamicDataConfig", referenced from:
      objc-class-ref in DataManager.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我确实将 工作目标 Build Setting 与其他目标进行了比较,但它们都是相等的。我检查了头文件,它们存在于我们的项目目录中。我尝试手动将头文件的路径添加到 Header Search Paths 但同样的结果仍然出现错误。

有什么想法吗?我真的需要解决这个问题才能导出 ipa 文件。

谢谢!

我手动扫描检查 Build Phases > Link Binary With Libraries 工作目标与缺陷目标。我发现一个 framework/library 只添加到工作目标中,所述框架不是由 pod 管理的,这可以解释为什么另一个目标没有它。我认为它是在项目中手动添加的。

我将上述框架添加到所有目标,现在我可以构建而不会出现上述错误。

谢谢!

我遇到了同样的问题,我找到的解决方案非常简单(伙计....)。 在项目中搜索错误中提到的 类。 转到“文件检查器”并简单地检查“目标成员资格”中其余目标的 V。 而已!我花了两个小时(浪费时间)才找到答案。 希望我的解决方案能为遇到类似问题的任何人节省时间。