ios开发时,在Xcode中添加多个targets进行版本控制
在ios開發時,我們經常會遇到對同一個app開發多個版本(Pro、Lite、Free)的情況,這里就涉及到xcode里通過添加多個targets來進行版本控制的問題了,下面就簡單說明一下:
?????點擊左側的工程名稱,右側會出現PROJECT和TARGETS,點擊你現在的target,假如叫A,右鍵彈出菜單中,選擇Duplicate,復制一個相同的target,復制的target一般叫A copy,A copy和A的設置(編譯條件、源文件、資源文件)完全一樣,此時你可以根據需要修改A copy的編譯條件和資源文件了;
?
1、A copy的名稱是不是顯得不夠專業?現在來修改一下:
1)首先修改Xcode左上角的target名稱:
點擊xcode左上角Run、Stop右邊的工程名稱,下拉框中選擇Manage Schemes,在彈出框中,點擊A copy那行,點擊一次、再點擊一次,就可以修改A copy為你想要的名字了,比如ALite;
2)修改xcode左下方Products下的A copy.app名稱:
點擊Targets下你剛才改名后的ALite,點擊Bulid Setting,搜索Packaging下的Private Headers Folder Path,修改A copy.app/PrivateHeaders為:ALite.app/PrivateHeaders;
?
2、修改Bundle Identifier和選擇不同的證書,讓app區分開來
1)新target需要的.plist文件
??????新建一個文件夾X,添加X到項目中,添加時選擇target為ALite,不要選target A了,因為不是共用的;復制原來target的A-Info.plist到X,修改其名稱為ALite-Info.plist,xcode中右鍵Add File To ...,選擇添加到target ALite中;
2)點擊target: ALite ->Summary:提示你需要選擇plist文件,選擇1)中添加的ALite-Info.plist;
3)點擊target: ALite ->Summary:設置Bundle Idenfitier;
4)點擊target: ALite->Build Settings->Code Signing:選擇另外的證書;
?
3、修改程序名稱
?????一般說來,多個target的程序名稱不同,復制zh-Hans.lproj和en.lproj下的InfoPlist.strings文件到X,xcode中右鍵Add File To ...,選擇添加到target ALite中;然后修改InfoPlist.strings的內容:CFBundleDisplayName="程序名稱Lite";
?
4、2個target到現在就創建好了,你添加資源文件的時候,通過選擇添加的target來控制不同版本的內容;再說一下預編譯宏的事情:target->Build Setting,搜索:Preprocessor Macros,設置Debug和Release里的預編譯宏內容,比如TARGET_VERSION_LITE=1表示lite版本(注意=前后不能右空格,有空格會編譯不過),程序中對不同版本這樣判斷:
#if TARGET_VERSION_LITE ==1...#elif TARGET_VERSION_LITE ==2...?
轉載于:https://www.cnblogs.com/IT-jqm/p/targets.html
總結
以上是生活随笔為你收集整理的ios开发时,在Xcode中添加多个targets进行版本控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: day2 列表
- 下一篇: PHP扩展-扩展的生成和编译