旧项目引入CocoaPods遇到的坑
在给旧的项目引用CocoaPods时,当创建好Podfile后,进行 pod install指令。控制台发出如下信息,若直接编译则遇到 ld:library not found for -lPods-XXX 的报错。
这是关联路径不对,所以查找不到关联库。应该是新版pods对关联库这块进行了更新, Pods-XXX 变成 XXX,而clone下来的项目的buildsetting还是之前的,虽然进行了pod install/update,关联路径还是按照老的来查找,故build失败。
解决办法:如上图控制台的提示,需在 build setting->other linker flag中,加上$(inherited)即可。如下图:
重新编译工程的时候,又报了一个错误 :ld: library not found for -lMBProgressHUD,
找不到相应的第三方库。
解决办法:在Edit Scheme中,找到Build项,点击+号,找到Pods静态库,点击Add。
添加后如上图所示。
再次编译,又遇上了 invalid bitcode signature 的错误。解决方案如下图:需选中Pods,将Targets中的项目的 Enable Bitcode设置为 No
Tips:
1. 引入CocoaPods,并通过CocoaPods引入第三方库后,需将项目中原有引用的相应第三方库删除。否则会通不过编译。
2. 若在编译运行过程中仍遇到上述第二条错误,则需将下图属性也设置为 No
参考链接:
解决 ld: library not found for -lPods的问题
解决 ld:library not found for -lPods-XXX
pod 引用第三方库文件报错 library not found for -lMJRefresh
iOS invalid bitcode signature等常见错误