2009-11-16 46 views
5

我接近完成我的第一個相對簡單的Xcode項目(自定義安裝程序),我需要做22個版本。是的,這不是一個錯字!每個版本的不同之處在於PRODUCT_NAME,包資源文件夾中的源文件以及說明該軟件是否爲試用版的變量。最有效的方法來做22個不同的版本

從我迄今爲止讀到的內容來看,複製現有目標似乎是隻有幾次構建才能完成的方法,但對於22而言仍然如此?這似乎是一項可怕的工作。我想到的是一種方法來更改PRODUCT_NAME,複製到資源文件夾中的源文件和試用模式布爾值。但我卡住了。

感謝

回答

1

我可能會寫使用.xcodeproj模板和sed生成所有必要的組合的腳本。

1

您可能想要檢查出CMake是否需要維護大量的構建版本。

腳本確實可以完成工作,但是一旦項目發展到大量文件,或者如果您發現自己正在更改構建數量,更改腳本就會變得多毛。 CMake會讓你組織這些腳本,所以在將來做修改至少會容易一些。

2

我的直覺反應是,22個不同的構建,只有一個源文件不同的是錯誤的...

不能的問題轉頭?在一個版本中包含您的應用程序的所有22個不同版本,並在.app文件夾中提供22個不同的密鑰/許可證文件,每個解鎖22個版本中的一個。

+0

不幸的不是。這些是不可複製保護的插件,因此它們需要單獨構建以單獨下載。 – user212253 2009-11-16 23:21:12

+0

插件 - 構建一個應用程序並提供不同的插件,每個插件都包含所需的功能。儘管這幾乎可以回覆22版本的問題...... – 2009-11-17 07:31:18

2

我過去完成此操作的一種方法是使用本地化。當你使用NSLocalizedString風格化的宏時,其中一些宏可以指定一個tableName(即與默認不同的字符串文件)。然後,無論何時我需要一個不同品牌的版本,我只需使用適當的鍵值對創建一個新的.strings文件即可。

然後我有一個構建目標,它使用默認值構建代碼,第二個目標使用構建的代碼並將相應的.strings文件複製到適當的位置。這工作得很好,並允許我們管理許多不同的構建風格。

相關問題