2010-03-10 59 views
2

我想製作付費應用和免費版本的應用。我想要構造一些東西,以便我可以儘可能少地修改一個版本或另一個版本。就源代碼而言,這很容易通過在某個地方使用BOOL常量isFreeVersion來實現,並根據需要引用它。從單個Xcode項目中有效構建Iphone應用程序的兩個版本?

但是我應該如何設置其他所有東西?顯然,應用程序ID將不得不改變,這將需要改變XCode中的一些構建設置。保持最低限度的最佳方式是什麼?

+0

這似乎是這個問題的重複:http://stackoverflow.com/questions/549462/how-do-i-manage-building-a-lite-vs-paid-version-of-an-iphone -app – 2010-03-10 15:49:18

回答

1

就版本控制而言,I 不建議使用using branches,除非構建兩個版本的影響意味着兩組數據源之間的重要代碼更改。

如果你只能有一組源(與你的BOOL常數),這意味着其餘的必須通過建立腳本來管理,這將:

  • 帶一個參數就知道它是否有建立免費版本或付費版本的可執行文件(無參數意味着它構建兩者)
  • 使用一個XCode構建設置或其他,這取決於它必須構建的版本。
2

您可以使用預處理器標誌(在您的Xcode構建設置中)在兩者之間切換。該標誌可以使用簡單的預處理器指令(例如#if IS_FREE_VERSION ... #endif)以類似於if語句的方式在源代碼中使用。這將幫助您避免構建腳本。

這種方法的缺點是,默認情況下,每次構建時,最後的構建產品都會被覆蓋。

相關問題