Xcode 编译报错 Undefined symbols for architecture arm64: "_OBJC_METACLASS_$_文件名"

如图, 在pod集成一个第三方Framework后编译报错


报错

首先看报错:
Undefined symbols for architecture arm64:

说在arm64架构下有未定义的符号. (可能是引用问题导致, 这里有很多情况都会报这个错误, 我下面只列出我遇到的一种)

再看细节:
"OBJC_CLASS$_FCFileManager", referenced from:
objc-class-ref in MMMyXieYiXiangQingViewController.o

大概意思就是在MMMyXieYiXiangQingViewController.o这个类里的FCFileManager未找到.

我们去MMMyXieYiXiangQingViewController这里看看, 搜索FCFileManager


2.png

看来这个类引用有问题了, 我们右键jump to Definition进入文件看看. 发现FCFileManager.h这个文件是另一个Framework ZTBaseKit里的.

然后我们回到pod里的
ZTPlaceOrderFramework的Build phases里看看, 果然没有ZTBaseKit的引入.


4.png

于是我们点击+号添加 , 编译通过了!


5.png

这里很奇怪, 我的同事电脑里是没有单独引用ZTBaseKit的, 也可以编译通过, 因为ZTPlaceOrderFramework 这里引入了ZTDocumentLibrary, 而ZTDocumentLibrary里是引入了ZTBaseKit的, 所以按理说, 不用再次引入, 应该也能编译通过的. 但不知道为何我电脑这边就报错了.

6.png
7.png

特此 记录一下!!!!!
搞了快一天了 , 查错逻辑摘自下面文章, 多谢作者的思路引导了我.
https://www.jianshu.com/p/a9ae45c9c045

你可能感兴趣的:(Xcode 编译报错 Undefined symbols for architecture arm64: "_OBJC_METACLASS_$_文件名")