实现一个iOS项目中添加多个target,并制作马甲包。
公司項目中全部采用多個Target在一份項目代碼中生成多個app端,之前項目中未曾使用過,問了幾個朋友打過馬甲包的朋友,也都沒多Target搞過,因此自己試驗整理了下target生成的整個過程,盡量步驟詳細,大牛勿噴,小白共勉。
1.添加多個target
如下圖,在項目配置TARGETS中,選中需要復制的target目標,右鍵選擇Duplicate,然后就會出現一個叫*copy名字的target。
如下圖
選擇Duplicate only,出現如下圖MoreTarget copy
修改MoreTarget copy為我們所需要的名字,我這里改為MoreTarget旗艦。然后接下來選擇左上角如下圖
點擊Manage Schemes進去修改MoreTargets copy為MoreTargets旗艦,注意修改選中MoreTargets copy,點擊一下后,稍等再點擊方可以進去編輯修改。
改名如下圖,記得勾選shared,然后close即可。
然后,我們項目中因為用到cocopod,為了兩個target都可以使用pod,我們在項目左側podfile中添加字段
target 'MoreTargets旗艦' do
end
command+s保存后,跟終端pod install。
最終結果我們點擊project--MoreTargets--info,如下圖所示,
等于我們新建的target,MoreTarget旗艦綁定了相應的debug和release環境。請注意我們項目左側FrameWorks下面出現新的MoreTargets旗艦對應的plist文件MoreTargets copy-Info.plist,我們單擊修改為我們MoreTargets旗艦對應的名字,如下圖
然后我們點擊TARGETS--MoreTargets旗艦--General--Identify下,點擊選擇我們剛才修改的plist文件,如下圖選擇即可。
2.接下來,我們配置兩個target不同的app name,和不同的bundleIdentifier。如下圖,我們將MoreTargets旗艦的bundelid改為com.targetqijian.www.MoreTargets,
此時分別選擇運行不同的targe,會在模擬器上安裝為兩個不同的App。
3.然后我們修改不同target 不同的AppIcon和LanuchImage,分別拖進去相應圖片,如下圖
我們點擊運行后,桌面如下圖兩個app,一個是MoreTargets應用,一個是MoreTargets旗艦應用,如下圖
最后,后面你添加文件的時候,根據自己需要添加到對應的target就可以了。但是在代碼中怎樣區分兩個target呢?我們可以添加一個預編譯宏來解決。target->Build Setting,搜索:Preprocessor Macros,設置Debug和Release里的預編譯宏內容,比如QIJIAN=1表示一個target版本(注意=前后不能右空格,有空格會編譯不過),程序中對不同版本這樣判斷,如下圖
最后,完畢。兩個不同的target共用同一份代碼,后續打包可根據需要配置不同的開發者賬號即可。
最近參考上面所述制作馬甲包,完成后會有編譯失敗的問題,原因如下Targets--General--Linked Frameworks and Libraies下,libPods**.a 重復,刪除即可。
總結
以上是生活随笔為你收集整理的实现一个iOS项目中添加多个target,并制作马甲包。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: applicationpropertie
- 下一篇: 十万个为什么儿童版_把中国科技传播至阿语