引言:一些項(xiàng)目會(huì)涉及到多廠商,那么一個(gè)項(xiàng)目就需要配置多個(gè)Target,替換圖標(biāo),開(kāi)機(jī)畫(huà)面,代碼差異處理等問(wèn)題,下面一個(gè)個(gè)解答如何處理.
1.多Targe的創(chuàng)建:
只需要復(fù)制原來(lái)的Target就行,具體如圖:
復(fù)制Target后,Xcode默認(rèn)會(huì)為你copy一個(gè)info.plist,為了以后維護(hù)方便,統(tǒng)一使用原來(lái)的info.plist
但問(wèn)題隨之而來(lái),info中包含了一些差異化的部分,比如開(kāi)機(jī)畫(huà)面:
這時(shí)候就需要使用infoPlist.String文件了,這個(gè)文件使用key-value的方式來(lái)修改info.plist文件的,包括我們后面說(shuō)到的本地化app名字.
2.infoPlist.String的創(chuàng)建和配置:
分別為不同的Target都創(chuàng)建一個(gè)叫:infoPlist.string的文件,放到不同的文件夾,并添加到Xcode中.
如何創(chuàng)建infoPlist,具體請(qǐng)看另一篇文章:ios app名稱國(guó)際化
該文件是info.Plist的補(bǔ)充信息,可以手動(dòng)在這里適配中英文,包括不同target的配置信息:
如:
app名字 "CFBundleDisplayName" = "你的target對(duì)應(yīng)的app名字";
開(kāi)機(jī)圖片 "UILaunchStoryboardName" = "Launch ScreenNew(01).storyboard";
那如何知道我要改的字段是那個(gè)key值呢?
方法就是使用XCode的修改對(duì)比功能:
比如我們想找:Launch screen interface file base name這個(gè)對(duì)應(yīng)的key是什么,那么為了方便查找,我們可以設(shè)置他的值為1111,在點(diǎn)擊對(duì)比按鈕,搜索就能找到我們想要的key:UILaunchStoryboardName
由于之前適配多廠商都是手動(dòng)刪除修改信息,導(dǎo)致重復(fù)的勞動(dòng),效率不高,而且還容易修改遺漏或錯(cuò)誤,導(dǎo)致嚴(yán)重的問(wèn)題.
最終是這樣的:
那么多Target適配好了,又遇到每次發(fā)包都需要手動(dòng)打包也很耗時(shí),也存在重復(fù)的勞動(dòng),那么下期將講解如何自動(dòng)化打包多Target