旧项目引入CocoaPods遇到的坑

在给旧的项目引用CocoaPods时,当创建好Podfile后,进行 pod install指令。控制台发出如下信息,若直接编译则遇到 ld:library not found for -lPods-XXX 的报错。

旧项目引入CocoaPods遇到的坑

 

旧项目引入CocoaPods遇到的坑

 

这是关联路径不对,所以查找不到关联库。应该是新版pods对关联库这块进行了更新, Pods-XXX 变成 XXX,而clone下来的项目的buildsetting还是之前的,虽然进行了pod install/update,关联路径还是按照老的来查找,故build失败。

解决办法:如上图控制台的提示,需在 build setting->other linker flag中,加上$(inherited)即可。如下图:

旧项目引入CocoaPods遇到的坑

 

重新编译工程的时候,又报了一个错误 :ld: library not found for -lMBProgressHUD找不到相应的第三方库。

解决办法:在Edit Scheme中,找到Build项,点击+号,找到Pods静态库,点击Add

旧项目引入CocoaPods遇到的坑

 

添加后如上图所示。

再次编译,又遇上了 invalid bitcode signature 的错误。解决方案如下图:需选中Pods,将Targets中的项目的 Enable Bitcode设置为 No

旧项目引入CocoaPods遇到的坑

 

Tips:

1. 引入CocoaPods,并通过CocoaPods引入第三方库后,需将项目中原有引用的相应第三方库删除。否则会通不过编译。

2. 若在编译运行过程中仍遇到上述第二条错误,则需将下图属性也设置为 No 

旧项目引入CocoaPods遇到的坑

 

 

参考链接:

解决 ld: library not found for -lPods的问题

解决 ld:library not found for -lPods-XXX

pod 引用第三方库文件报错 library not found for -lMJRefresh

iOS invalid bitcode signature等常见错误