前言
- 多端情況旦部,商家端和用戶端等祈搜,不同端的App名字、圖標(biāo)士八、啟動(dòng)界面等不同容燕,以及一些模塊上的不同;
- 多環(huán)境情況婚度,開發(fā)環(huán)境蘸秘、測(cè)試環(huán)境、生產(chǎn)環(huán)境等蝗茁,為了更好的區(qū)分需要顯示不同的App名字醋虏、圖標(biāo)等。
新建Target
- 通過(guò)duplicate創(chuàng)建Target時(shí)內(nèi)部操作
1.建立scheme環(huán)境
2.生成Target
3.生成info.plist文件
拷貝原項(xiàng)目
- 默認(rèn)情況生成的target名字會(huì)以項(xiàng)目名后跟copy來(lái)命名哮翘,此時(shí)為了便于閱讀颈嚼,可同步修改以下三個(gè)地方的命名
1.scheme環(huán)境名
2.target名稱
3.info.plist文件名
注意修改plist文件名后,需要同步修改packageing中info.plist file關(guān)聯(lián)
需要同步修改命名的地方
設(shè)置對(duì)應(yīng)App名字
- 不同的版本需要展示的app名字
設(shè)置對(duì)應(yīng)App圖標(biāo)
1.在主Assets文件中新建AppIcon饭寺,設(shè)置對(duì)應(yīng)App圖標(biāo)名
2.與Primary App Icon Set Name參數(shù)進(jìn)行關(guān)聯(lián)
創(chuàng)建App Icon并關(guān)聯(lián)
設(shè)置登錄頁(yè)Storyboard
- 不同版本需要展示的登錄頁(yè)
1.創(chuàng)建.storyboard文件阻课,設(shè)置對(duì)應(yīng)登錄頁(yè)名
2.選中對(duì)應(yīng)info.plist文件設(shè)置Launch screen file base name參數(shù)為對(duì)應(yīng)登錄頁(yè)名
創(chuàng)建并關(guān)聯(lián)登錄頁(yè)
為了便于管理與閱讀,我們可以單獨(dú)將對(duì)應(yīng)端的文件歸類至單獨(dú)的文件夾中
區(qū)分使用不同代碼
1.設(shè)置對(duì)應(yīng)的自定義標(biāo)識(shí)符艰匙,這里的Active Compilation Conditions與Other Swift Flags可以達(dá)到相同的效果限煞,但為更好的區(qū)分開發(fā)、測(cè)試员凝、生產(chǎn)環(huán)境署驻,建議在Other Swift Flags中添加標(biāo)識(shí)符,注意在Other Swift Flags中需要在標(biāo)識(shí)符前添加 -D,多個(gè)標(biāo)識(shí)符需要再每個(gè)標(biāo)識(shí)符前都添加上-D旺上,否則將報(bào)以下錯(cuò)誤
Showing Recent Issues
Command CompileSwiftSources failed with a nonzero exit code
對(duì)于Active Compilation Conditions則不需要添加-D前綴
標(biāo)識(shí)符設(shè)置
2.代碼層面的區(qū)分使用瓶蚂,這里與Release與Debug環(huán)境的區(qū)分使用相同
func test() {
#if Buyer
//買家端代碼
#elseif Selller
//賣家端代碼
#endif
//多端通用代碼
}
切換運(yùn)行與打包
直接選擇對(duì)應(yīng)的scheme進(jìn)行運(yùn)行與打包即可