如下图,当我本地有三方库,中途添加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一下,就要重新打一个静态库了。