如图, 在pod集成一个第三方Framework后编译报错
首先看报错:
Undefined symbols for architecture arm64:
说在arm64架构下有未定义的符号. (可能是引用问题导致, 这里有很多情况都会报这个错误, 我下面只列出我遇到的一种)
再看细节:
"OBJC_CLASS$_FCFileManager", referenced from:
objc-class-ref in MMMyXieYiXiangQingViewController.o
大概意思就是在MMMyXieYiXiangQingViewController.o这个类里的FCFileManager未找到.
我们去MMMyXieYiXiangQingViewController这里看看, 搜索FCFileManager
看来这个类引用有问题了, 我们右键jump to Definition进入文件看看. 发现FCFileManager.h这个文件是另一个Framework ZTBaseKit里的.
然后我们回到pod里的
ZTPlaceOrderFramework的Build phases里看看, 果然没有ZTBaseKit的引入.
于是我们点击+号添加 , 编译通过了!
这里很奇怪, 我的同事电脑里是没有单独引用ZTBaseKit的, 也可以编译通过, 因为ZTPlaceOrderFramework 这里引入了ZTDocumentLibrary, 而ZTDocumentLibrary里是引入了ZTBaseKit的, 所以按理说, 不用再次引入, 应该也能编译通过的. 但不知道为何我电脑这边就报错了.
特此 记录一下!!!!!
搞了快一天了 , 查错逻辑摘自下面文章, 多谢作者的思路引导了我.
https://www.jianshu.com/p/a9ae45c9c045