Xcode多target下配置Pods文件以及产生的编译错误:ld: library not found for -lPods

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/PianZhideNanRen/article/details/79292345

近期一个项目因为要分裂出一个新项目,新项目因为和原项目很类似就是用了多Target模式。

起因

项目要使用百度定位,为了方便我使用pod添加,很快在ATarget下就完成了开发,但是在切换到BTarget下运行成却出现了错误,说是找不到百度SDK,这就郁闷了,我根据错误在网上查找寻找答案。

多target下配置Pods文件

很显然这个问题已经有同学遇到过了,我参考了这位同学的博客利用pod的abstract_target属性解决的问题代码如下;

platform :ios, '7.0'
abstract_target 'DemoName' do   #不存在的target

    pod 'AFNetworking', '~> 3.1.0'
    pod 'MJRefresh', '~> 3.1.15'
    ...

    target 'oldDemoName'
    target 'newDemoName'
end

这样就是多target模式下配置pod文件的方法,注意DemoName是一个不存在的target,在最后可以添加任意的target。

ld: library not found for -lPods  

今天要上传代码进行版本更新,在编辑的时候居然报错了

提示找不到pods文件,这里给大家一个建议,遇到ld: library not found for -|XXX的错误第一时间查看Build Phases->Link Binary With Libraries是否有重复或者缺失的文件。

我这次的就是因为没有删除原pod文件下target标记导致的错误;


这个是删除原始标签后的的状态,再次编译通过,打包上传。


猜你喜欢

转载自blog.csdn.net/PianZhideNanRen/article/details/79292345