需求:最近項目接入了一個三方SDK县遣,但是它不支持模擬器運行。這對缺乏多機型開發(fā)的團隊是不可接受的珠洗。為了方便適配,所以研究了讓模擬器跑起來的方法。
方案:在三方公司不能支持SDK模擬器運行的時候碧绞,我們只好自己動手豐衣足食了。我采用的方案是多target來解決吱窝。
原理:在發(fā)布的target版本中引入需要的SDK讥邻,所以這個target只支持真機運行;在平常開發(fā)測試的target版本做其他需求開發(fā)院峡。這樣就可以適配其他業(yè)務模塊兴使。
步驟一:添加測試環(huán)境的target
右鍵TestProject -> Duplicate
image.png
自動生成一個target,我們可以自己修改下名字
image.png
步驟二:添加Flag(用來區(qū)分哪個target)
1照激、Swift工程:Build Setting->Other Swift Flags->Add
image.png
使用方式:
#if thirdSDK
print(“使用三方SDK”)
#endif
2发魄、OC工程:build setting中搜索 macro,在preprocessor Macros展開狀態(tài)下,對新復制出的target的debug和release下都加上宏定義励幼。
image.png
使用方式:
#if thirdSDK
print(“使用三方SDK”)
#endif
注意事項:多個target環(huán)境汰寓,我們在添加文件和資源的時候需要注意,哪些target需要苹粟,就需要勾選對應的target有滑。如下圖:
image.png
總結:通過多target可以解決諸多不同環(huán)境導致的問題。對于自動化打包配置更是不可或缺六水。后面需要其他需求再做補充俺孙。