一、使用Cocoapod时出现 Pod Error in Xcode “Id: framework not found Pods-xxx”
根据这个答案,成功解决了问题,但是原理不清楚 。
Pod Error in Xcode “Id: framework not found Pods”
二、ld: symbol(s) not found for architecture armv7

错误详情如上图。
意思就是未找到这个类或方法的声明。
这个错误目前遇到的分两种情况:
1、静态库(.a)本身不支持这个架构
验证方法:
- cd 到放静态库的文件夹
- 使用命令:
lipo -info xxxx.a
下面会输出此静态库所支持的架构。如图:

如果没有确实是.a库本身不支持,那就需要重新编译一个.a库,如果是第三方SDK,则需要向第三方要包含所需要架构的SDK。
2、project.pbxproj 设置问题
参考文章:
坑爹的 LD: SYMBOL(S) NOT FOUND FOR ARCHITECTURE ARMV7
symbol(s) not found for architecture armv7
xcode项目import文件会根据project.pbxproj来查找,查找不到文件的引用则会有上述的错误。
解决方法点击工程,在主界面中点击Build Phases,根据提示信息“XXX”来判断缺少什么文件,一般如果缺少自定义的文件,Complie Sources下没有XXX文件,那么就在Complie Sources中加入该文件。如果缺少类库,则在Link Binary With Libraries中加入该类库。
另外,需要注意的是,有时你所使用的第三方库中需要系统库,但是报错又会报到你使用的第三方库,结果就不知道该添加那个库,这时最好去问第三方库的开发人员。
网友评论