在開發中,有時需要兩個或多個APP版本,每個版本的改動,不是很多,但是需要另外打包,那麼我們就有兩套方案: 1.重新開發,把代碼複製一遍,然後在修改; 2.用一套代碼,根據需求生成不同的包; 我們一般會用第二個方案,這時就需要根據不同的需求,創建不同的target;通過編譯打包不同的target,做 ...
在開發中,有時需要兩個或多個APP版本,每個版本的改動,不是很多,但是需要另外打包,那麼我們就有兩套方案:
1.重新開發,把代碼複製一遍,然後在修改;
2.用一套代碼,根據需求生成不同的包;
我們一般會用第二個方案,這時就需要根據不同的需求,創建不同的target;通過編譯打包不同的target,做到相對應的APP需求;例如軟體的普通版和增強版,測試版本和生產版本等;
1.創建 target
新建項目時,項目會自帶一個target,找到TARGETS欄,選中當前的 target 右鍵選擇 Duplicate ;【這種方式是直接複製,這裡就說這一種方式】
2.修改 target 名字
雙擊新建的target:*** copy ,修改名稱;【這裡我將原 target 名稱後加了Produc】
3.修改 info.plist 文件名
新 target 創建後會自動生成一個 *** copy-Info.plist文件,修改該文件名後,重新配置新 target 的 配置文件;【我將其修改為 MoreTargetProducInfo.plist】
4.修改新 target APP 名稱和 Bundle identifier
5.修改 scheme 名字
6.配置 Debug 和 Release 模式下的巨集【關鍵】
在 Build Setting 中,搜索 preprocessor macros ,分別在 Debug 和 Release 中添加自定義欄位【我添加的是 XK_DEBUG】,並複製,兩個 target 的值不同,用於項目編譯區分;
7.測試
分別用不同的 target 進行編譯運行
8.註意事項
1.因為項目有多個 target,在新建文件時,就要將文件添加到需要用到的 target 中;假如我現在需要新建一個UIView,如下圖所示,具體添加 target 根據項目需求而定;
2.項目中集成 CocoaPods 後,如果有多個 target 需要註意不同 target 引用到的第三方;