在Xcode中添加多個targets進行版本控制阴绢,就是同一個app開發(fā)多個版本
以Xcode7.3.1 為例
1. 創(chuàng)建
點擊左側工程項目文件扣蜻,選擇TARGETS 下的項目右擊選擇?Duplicate。
看到這個彈框:(標準iPhone程序選Duplicate Only瞪醋,如果需要iPad就選Duplicate and Transition to iPad)
就會看到TARGETS 下會出現(xiàn)一個 testCode copy
2.改名字
(1)點擊xcode左上角Run、Stop右邊的工程名稱,下拉框中選擇 Manage Schemes山林,在彈出框中,點擊A copy那行邢羔,點擊一次驼抹、再點擊一次桑孩,就可以修改A copy為你想要的名字了,比如ALite框冀;
(2)修改xcode左下方Products下的TestCode copy.app名稱
選擇新加的項目名流椒,選”Build Settings” 搜索?“Packaging”下的”private Headers Folder Path”,修改testCode Copy/PrivateHeaders為 “TwoTestCode.app/PrivateHeaders”;
(3)把TARGETS 下的名字也改一改
3.修改Bundle Identifier和選擇不同的證書明也,讓app區(qū)分開來
Xcode 7.3.1已經(jīng)把 .plist 生成了(多人性化啊)
接著直接創(chuàng)建個新的文件夾放 TwoTestCode的資料宣虾。(建議在工程文件夾里面創(chuàng)建再拖拽進來,記得選的是TwoTestCode)
之后就是這樣
4.修改程序的名字和國際化
看這個帖子加國際化: http://www.reibang.com/p/af5164fad6b1
target的程序名稱都會不同诡右,復制zh-Hans.lproj和en.lproj下的InfoPlist.strings文件到先前創(chuàng)建的TwoTestCode文件安岂,然后修改InfoPlist.strings的內(nèi)容:"CFBundleDisplayName"="TwoTestCode";
注意選擇類型來改:
5.設立全局的宏定義來區(qū)分
選擇TARGETS下的testCode->Build Setting,搜索:Preprocessor Macros帆吻,設置Debug和Release里的預編譯宏內(nèi)容域那,比如:TARGET_VERSION_LITE=1
(注意=前后不能右空格,有空格會編譯不過)
最后:程序中對不同版本這樣判斷:
- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section
{
#if TARGET_VERSION_LITE ==1
return6;
#elif TARGET_VERSION_LITE ==2
return5;
#endif
return5;
}