在APP开发中,经常会在测试、发布、内网、外网环境切换。如果只有一个target,每次切换都需要去更改配置或修改程序,非常麻烦。所以一个工程下面构建多个target来对应不同的生产环境是十分必要的。下面来看看具体构建过程:
copy target
PROJECT--TARGETS
![](https://img.haomeiwen.com/i545854/a73ee2507e3ec9b5.png)
![](https://img.haomeiwen.com/i545854/e3bf8e74f7df2235.png)
![](https://img.haomeiwen.com/i545854/c409cc2d6d28cec7.png)
![](https://img.haomeiwen.com/i545854/910fcbc82a1c9805.png)
![](https://img.haomeiwen.com/i545854/758a9b86a49473fe.png)
![](https://img.haomeiwen.com/i545854/38941fb9b74a064b.png)
![](https://img.haomeiwen.com/i545854/708c071e1b78e5d9.png)
如下图,进入Build Settings,搜索preprocessor,为target添加宏。我添加的宏名为EnviromentMode。每个target的EnviromentMode值设置为不一样的
![](https://img.haomeiwen.com/i545854/402f30df6831c51a.png)
![](https://img.haomeiwen.com/i545854/946a2b179fc2e1a7.png)
![](https://img.haomeiwen.com/i545854/89e844f96a86d833.png)
如果项目中有国际化的处理
如果项目中对APP的名字做了国际化,那么会生成InfoPlist.strings文件。如果在不同的target下需要显示不同的名字。在项目目录下新建与 Target 同名的文件夹(同名是为了方便区分),然后将国际化文件 xx.lproj复制到Target对应的文件夹下面:
![](https://img.haomeiwen.com/i545854/517d31b428e14ad6.png)
选中国际化文件(InfoPlist.strings ),然后选择Xcode - Views - Utilities (Command+Option+0),弹出右侧边栏,在 Target Membership中选择国际化文件对应的 Target
![](https://img.haomeiwen.com/i545854/857f378c3549845c.png)
至此,一个project下的不同用途的target就创建完成。debug的时候选择需要的Scheme编译运行即可。
网友评论