事情是這樣的煤墙,公司的APP在年前突然在App Store搜索不到了晌块,但是打開鏈接還能到下載頁(yè)面瘤载,跟蘋果聯(lián)系也說一切正常,交涉了很久沒效果癣疟,各種方法也試過了挣柬,最后無(wú)奈又重新提交了一個(gè)功能相同的APP。
這就遇到了一個(gè)問題睛挚,我們需要維護(hù)兩個(gè)功能相同的APP邪蛔,APP內(nèi)用到了不少的第三方,每個(gè)第三方key都有兩套扎狱,這樣每次打包時(shí)候就很扯了侧到,所以看了下,最后采用了多target方式來解決此問題淤击。
現(xiàn)在把過程分享出來匠抗,也是怕自己以后忘了。
1污抬、復(fù)制出一個(gè)相同的target
會(huì)彈出窗口讓選擇只適用iPhone還是同時(shí)兼容iPad汞贸,我自己選的是只適用于iPhone
我在這里沒有改target名字,如果你需要改的話直接改了就行印机,同時(shí)會(huì)創(chuàng)建一個(gè)以target名稱開頭的info.plist矢腻,如果你target改名了,那info.plist名字也要改
2射赛、通過預(yù)編譯宏來實(shí)現(xiàn)不同target使用不同的key
TARGET_TEBIEBAN=99 // 這個(gè)你可以自定義
// 然后在pch文件中判斷宏定義即可
#if TARGET_TEBIEBAN==99
#else
#endif
// 如果你有超過兩個(gè)以上target多柑,那么每個(gè)target都應(yīng)當(dāng)設(shè)置預(yù)編譯宏中間用#elif即可
打包時(shí)選擇相應(yīng)的target就可以了
分割線------------------------------------------------------------------------------------------
本來覺得到這里就結(jié)束了,不曾想過了幾天新添加了一個(gè)第三方框架楣责,再編譯copy那份的時(shí)候就報(bào)錯(cuò)了竣灌,想了一下應(yīng)該是cocoaPod問題聂沙,回退版本果然跟我猜測(cè)一致,又看了下多target下podfile文件問題
我自己試了試網(wǎng)上的方案初嘹,只成功了最笨的一種方法
target 'demo' do
pod 'AFNetworking'
end
target 'demo copy' do
pod 'AFNetworking'
end
// 還有一種方式我沒成功及汉,如果你有什么好的方式可以在評(píng)論中回復(fù)我,非常感謝
#link_with 'demo', 'demo copy'