1、首先先选中Target一个已经存在的版本, 右键 Duplicate

2、然后在弹出来的选择框选择 Duplicate
3、创建完之后你的新Target应该是和我的一样, 接下来我们就要修改Target, Scheme, Info-plist, 如图这样修改:


4.修改完了之后Target, Scheme, plist的名字之后, 你需要在新的Target添加对应的plist文件, 修改CFBundleDisplayName就可以修改应用的名字了.



5.还要记得修改一下Product Name 不然你的Bundle Identifier的后缀名有copy和你的Target名字不一样, 你还需要在Bundle Setting做一下修改.

6.在Bundle Setting里面设置一下Proprecessor Macros添加一份KFREE(随意名字) KPRO(随意的名字)的参数来区分到底是那个Traget. 在代码里面为需要用到这个宏去判断代码块.


7.在代码里面添加Proprecessor Macros里面宏定义, 你就会发现编译之前Xcode就会智能的选择不同代码. 这样你就共用一个项目管理两个不同版本的应用了, 大部分的代码都复用, 维护管理非常轻松.
网友评论