公司有個(gè)需求:把已經(jīng)做好的一個(gè)App,打包成另外兩個(gè)App。要求可以獨(dú)立安裝暇赤,正常運(yùn)行心例。這三個(gè)App大部分功能一致,在個(gè)別地方需要修改鞋囊,比如圖標(biāo)止后、啟動(dòng)動(dòng)畫、App名稱以及交互服務(wù)器IP地址等等溜腐。
實(shí)現(xiàn)方法:添加多個(gè)Target译株。
完成后的項(xiàng)目截圖:
1、添加Target挺益。
添加Target歉糜,就是新建一個(gè)項(xiàng)目。只不過這個(gè)項(xiàng)目不是獨(dú)立的望众。
玩抽匪补,F(xiàn)inder中的文件目錄結(jié)構(gòu):
2、在新Target中添加編譯文件和編譯資源
在新Target的Build Phases中添加需要的代碼文件和其他資源文件:
創(chuàng)建新的Target系統(tǒng)會(huì)自動(dòng)添加一些基本的資源文件(1)烂翰。我們需要把它從編譯文件列表(2)和編譯資源列表(3)中刪除夯缺,然后添加我們需要的文件。
如果新Target跟原來的Target沒什么區(qū)別刽酱,可以參考GSLearning的Build Phases資源文件列表喳逛。
如果新Target需要定制功能瞧捌,那么就要在編譯列表中添加新模塊了棵里。
3、使用了Cocoapods管理第三方庫姐呐,需要編輯Profile殿怜,然后pod install
現(xiàn)在做的項(xiàng)目都比較大,第三方類庫是必不可少的曙砂。而CocoaPods是管理第三方庫的利器头谜。
編輯后,重新pod install鸠澈,你的新Target就和CocoaPods聯(lián)系上了柱告。
4、在新Target的General中設(shè)置基本配置笑陈,然后run
如果中間沒有出錯(cuò)际度,那么你離成功只差一步。
配置基本屬性:
選擇新Target涵妥,運(yùn)行:
如果你的新App沒跑起來乖菱,問題可能出現(xiàn)在這些地方:
1.少添加或錯(cuò)誤添加了編譯文件和編譯資源文件;
2.CocoaPods導(dǎo)入三方庫有問題;
3.新Target的Info.plist文件需要添加新內(nèi)容窒所,如:允許訪問http等等鹉勒;
4.等等。
5吵取、給新Target配置AppIcon和LaunchImage
如果你的App已經(jīng)沒問題禽额,接下來就需要配置ICON和LaunchImage。
在原來項(xiàng)目的Assets.xcassets(這也是新Target的資源文件夾)中添加ICON和LaunchImage(要注意名稱:AppIcon-1)皮官。
在General中設(shè)置
6绵疲、如果需要定制代碼,在Build Settings中設(shè)置宏定義
新的Target不可能與原App完全一樣臣疑。比如服務(wù)器IP地址盔憨,需要在代碼中根據(jù)不同的Target設(shè)置不同的IP。
1)在Build Settings設(shè)置宏定義
ISXGPRO就是我們定義的宏定義讯沈。
2)在代碼中使用