實現一個iOS項目中添加多個target,並製作馬甲包。

來源:互聯網
上載者:User

標籤:實驗   打包   tin   選中   project   manage   install   img   開發人員   

公司項目中全部採用多個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共用同一份代碼,後續打包可根據需要配置不同的開發人員帳號即可。

 

實現一個iOS項目中添加多個target,並製作馬甲包。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.