iOS 一套代码对应多个target,新建target及怎么配置
在平常开发中,特别是企业级应用,往往会根据客户需要做定制包,但整体功能设计都还是自身固定包。而我们不用傻乎乎的去copy代码新建项目工程,这时我们应该怎么做呢?
答案是,你所需要的apple都给你准备好了,往下看⬇️
![](https://img.haomeiwen.com/i1501113/5dbaf52b993e72c4.png)
这个时候会copy一个target名字,双击即可修改名字appIcon copy
![](https://img.haomeiwen.com/i1501113/cdc7473c69a04b96.png)
2、来运行新的target,这里其实已经改名为appIconTwo了但上面显示的还是copy名字,没关系,重启xcode就好了,这时选择appIconTwo Run就已经是新项目了
![](https://img.haomeiwen.com/i1501113/f9a3e3a6eced1e7a.png)
3、因为是给客户定制,肯定是有区别于之前的target的比如至少要改一改app name吧,所以我们都会新建一个对应appIconTwo的plist文件,plist 文件名最好都用同一个吧,因为后面可能有其他项目,这个时候copy target后会减少很多配置
![](https://img.haomeiwen.com/i1501113/74398cc8fd13b8c8.png)
![](https://img.haomeiwen.com/i1501113/6c035bffade8c0ee.png)
新建plist文件后记得在Build Settings 中去修改 Info.plist File 的路径哦
4、这个时候你可以对appIconTwo设置自己独有的appicon了以及项目中可能用到的图片![](https://img.haomeiwen.com/i1501113/2613612e9ff48aaa.png)
到这里 是不是想要马上run一下,没问题大胆的跑吧,没有人能追上你,除了你碰到
Multiple commands produce '/Users/aaa/Library/Developer/Xcode/DerivedData/aaa-bqwdwscabnrkfwhginurqzzbuwor/Build/Products/Debug-iphoneos/taobaoID.app/xxxx'
是的,还有问题。因为我们是copy的target,别人之前可是有自己的配置哟,一起看看Multiple 查一下 嗯 multiple | BrE ˈmʌltɪpl, AmE ˈməltəp(ə)l | 倍数
因为我们自己新建了app.xcassets,之前也有一个,所以要把之前的删掉,用我们新建的这个,注意看后面的路径,不要删错了
![](https://img.haomeiwen.com/i1501113/f3b0fbbd316af4ab.png)
到这里应该差不多了吧,嗯还差一个,比如在代码中怎么区分是old target 还是new target 根据不同的target可能处理逻辑不一样
![](https://img.haomeiwen.com/i1501113/9c7a29703bf49a49.png)
![](https://img.haomeiwen.com/i1501113/7f7103f9368bb25f.png)
到这里差不多了,去跑吧,一直往前,不要回头。