版权声明:本文为博主原创文章,未经博主允许不得转载。 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标记导致的错误;
这个是删除原始标签后的的状态,再次编译通过,打包上传。