我有一個應用程序,它使用TestFlight SDK和其他調試框架,我想自動刪除App Store發佈版本。如何從App Store發佈版本中刪除某些框架和代碼?
我創建了一個新的「App Store」構建配置,但我該如何教Xcode我想包含在這個構建中的框架?我怎樣才能使這些框架的代碼有條件的,所以它被排除在App Store發佈版本之外?
我有一個應用程序,它使用TestFlight SDK和其他調試框架,我想自動刪除App Store發佈版本。如何從App Store發佈版本中刪除某些框架和代碼?
我創建了一個新的「App Store」構建配置,但我該如何教Xcode我想包含在這個構建中的框架?我怎樣才能使這些框架的代碼有條件的,所以它被排除在App Store發佈版本之外?
您有三個有利於工作的組件,可以刪除無關的代碼。
首先,你有預處理器。如果你使用#if DEBUG
聲明包裝你的TestFlight導入和代碼,那麼你將會很好。 #if
語句的設計使預處理器將刪除不需要的額外語句。它不會讓它到編譯器。
其次,編譯器在你身邊。編譯器很聰明,可以從發佈版本中剝離死代碼。如果您編寫代碼並且不使用它,即使它通過了預處理器,它也不會將它變成最終的二進制文件。第三,如果你確實擔心這些框架將其納入到你的發佈版本中,你可以在Xcode中創建一個額外的目標,並更改該目標的鏈接器選項。這不是必要的,但如果您願意,可以選擇。這是最接近你的「明確排除」。
誠然,相信你的編譯器和鏈接器,除非他們給你不要理由。
相關:http://twobitlabs.com/2012/01/excluding-files-from-production-xcode-builds/這篇文章告訴你如何從某些構建配置明確排除源文件 – jrturton