关于 CocoaPods 导入三方库的一些坑

如下图,当我本地有三方库,中途添加cocoaPods ,添加完成后,pod 本地原有的三方库,你会发现pod完后,编译报以下如图的错误:

第一个错误是由于pod新的三方后,自动生成了一个动态库。所以要在link binary with Libraries中添加这个动态库就可以了。比如我添加的是 AFNetworking,那么你只要进link binary with Libraries中去 添加AFNetworking.framework 就可以了 。

第二个错误。Linker command failed with exit code 1(use -v to see invocation) 

这个问题导致的原因很多,由于升级到xcode8.3.1后,Apple Mach-O Linker Error 看不到详细信息了,你发现点击报错进不了错误详情,此时,点击 --右键到错误位置 --选择revealin log 就可以进入具体的错误信息了。

我这里的问题是:embedded dylibs/frameworks are only supported on iOS 8.0 and later (@rpath/SensorsAnalyticsSDK.framework/SensorsAnalyticsSDK) for architecture x86_64,最直接的解决办法是直接将 Deopment Target 设置到8.0 及以上系统。因为我项目本身是支持到ios7.1,部分用户还在8.0以下呢。所以如果你的项目是只支持8.0以上的,那就可以直接点将Deopment Target 设置到8.0。 然而我自己的支持怎么办呢。 architecture x86_64??? 这应该是xcode8.0以后支持的64 位编码问题了。。。

经过百度查找了半天,发现:使用cocoapods引入的第三方库的时候,如果第三方库支持8.0以下,还是报了这个错,那么你就要看一下pod相对应的第三方库的target是不是选择了8.0,而项目的target选择了8.0一下的某个版本。

如果第三方的静态库不支持8.0一下,就要重新打一个静态库了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容