在《iOS項(xiàng)目管理: 利用Target來(lái)管理項(xiàng)目的調(diào)試、測(cè)試潦闲、發(fā)布等不同版本或者OEM版本》中提到攒菠,直接把客戶相關(guān)的打包信息(比如bundle ID,啟動(dòng)圖片等等)存放到對(duì)應(yīng)的target下邊歉闰,這樣的好處是辖众,一個(gè)項(xiàng)目就囊括了所有的OEM版本信息卓起,只要點(diǎn)擊切換target就可以完成不同項(xiàng)目的切換。一切都看起來(lái)這么美好~
但是這么做的風(fēng)險(xiǎn)也是巨大的凹炸,因?yàn)槿绻隙沃械倪@個(gè)多target工程泄露之后戏阅,你所有的客戶的打包信息,也隨之全部泄露啤它。這個(gè)代價(jià)是很沉痛的奕筐!所以多target管理用戶的打包信息最終被我們廢棄了。
我們現(xiàn)在用多target管理自身原生項(xiàng)目的debug,test变骡,release版本環(huán)境的切換离赫,這個(gè)還是可以的。
替代多target管理客戶打包信息塌碌,自然是分開(kāi)處理渊胸,這樣即使泄露要比直接一個(gè)工程就全部泄露完沒(méi)有一點(diǎn)回旋的余地要好的多。 fastlane的自身的打包文件夾台妆,名為fastlane,它的路徑是在我們項(xiàng)目根目錄下的翎猛,我們嘗試把包括客戶文件夾放到fastlane文件夾下,到時(shí)候直接替換fastlane
文件夾即可频丘。
之所以這么做办成,是因?yàn)閒astlane文件夾中的Appfile
,Deliverfile
和Fastfile
中的信息我們也是需要替換的搂漠。直接替換fastlane
一勞永逸迂卢。
另外,我們不用擔(dān)心在fastlane
加入其它一些文件會(huì)影響fastlane打包桐汤,實(shí)際測(cè)試不產(chǎn)生影響而克,fastlane只會(huì)找它需要的文件。并且怔毛,你只要在一個(gè)工程上執(zhí)行fastlane init
命令生成fastlane
文件夾就可以了员萍,之后其他的相同的工程只要拖進(jìn)fastlane
文件夾,執(zhí)行fastlane release
命令就可以了拣度,不需要重復(fù)執(zhí)行fastlane init
命令碎绎。
好了,OEM打包管理現(xiàn)在的處理方案就是這樣抗果。 因?yàn)樽陨砟芰铜h(huán)境的約束筋帖,我的方案可能并不是最好的,只是拿出來(lái)和大家分享冤馏。如果有朋友有其他更高的方案日麸,一定要私信或者留言告訴我啊,大家一起進(jìn)步4狻4墩划!
附錄中,使我們現(xiàn)行工程的一些配置嗡综,我的配置基本沒(méi)有改動(dòng)
附錄
交流
希望能和大家交流技術(shù)
Blog:http://www.lilongcnc.cc