我想製作付費應用和免費版本的應用。我想要構造一些東西,以便我可以儘可能少地修改一個版本或另一個版本。就源代碼而言,這很容易通過在某個地方使用BOOL常量isFreeVersion來實現,並根據需要引用它。從單個Xcode項目中有效構建Iphone應用程序的兩個版本?
但是我應該如何設置其他所有東西?顯然,應用程序ID將不得不改變,這將需要改變XCode中的一些構建設置。保持最低限度的最佳方式是什麼?
我想製作付費應用和免費版本的應用。我想要構造一些東西,以便我可以儘可能少地修改一個版本或另一個版本。就源代碼而言,這很容易通過在某個地方使用BOOL常量isFreeVersion來實現,並根據需要引用它。從單個Xcode項目中有效構建Iphone應用程序的兩個版本?
但是我應該如何設置其他所有東西?顯然,應用程序ID將不得不改變,這將需要改變XCode中的一些構建設置。保持最低限度的最佳方式是什麼?
就版本控制而言,I 不建議使用using branches,除非構建兩個版本的影響意味着兩組數據源之間的重要代碼更改。
如果你只能有一組源(與你的BOOL
常數),這意味着其餘的必須通過建立腳本來管理,這將:
您可以使用預處理器標誌(在您的Xcode構建設置中)在兩者之間切換。該標誌可以使用簡單的預處理器指令(例如#if IS_FREE_VERSION ... #endif)以類似於if語句的方式在源代碼中使用。這將幫助您避免構建腳本。
這種方法的缺點是,默認情況下,每次構建時,最後的構建產品都會被覆蓋。
這似乎是這個問題的重複: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