2014-12-05 40 views
1

我希望我的XCode存檔構建自動標記我的SCM(Git在此項目中)。標記XCode的存檔建立在Git或另一個SCM

我注意到,在架構編輯器中,存檔構建可以運行前後步驟構建腳本。如果僅在構建成功時才運行後續步驟,則標記可能會很理想,然後標記可以到達那裏。

我希望標籤名稱指的是構建配置的名稱(我有TestFlight和AppStore配置,以及調試和發佈,通常不會被存檔),以及版本號是建造的,也是建造數量。標籤可能類似於:TestFlight_2.1.3_#11AppStore_2.9.0_#3

在XCode的項目設置中,您可以使用變量替換,如$(BUILD_CONFIGURATION)這些可以用於存檔生成腳本嗎?

我也不確定當前版本字符串是否有變量,應用程序的內部版本號是。如果有的話,我還沒有找到一個。

回答

1

在XCode的項目設置中,您可以使用變量替換,比如$(BUILD_CONFIGURATION)。這些可以用於存檔構建腳本嗎?

是的。構建設置可作爲運行腳本構建階段一部分運行的腳本的環境變量。查看設置了哪些變量(如果您不信任構建日誌輸出)的簡單方法是將env放在腳本中打印出來,或者env > environment.txt如果要將它們保存到文件中。

我也不確定當前版本字符串和內部版本號是否有變量。如果有的話,我還沒有找到一個。

沒有。但是,如果要檢索當前版本,可以從項目的Info.plist文件中獲取它(並且應該有一個環境變量指向活動項目的文件)。

Xcode Archive沒有當前版本號的概念。通常你使用腳本從其他來源(Xcode Server,磁盤上的計數器,無論什麼)計算內部編號,然後將Info.plist中的CFBundleVersion項設置爲該編號。

+0

感謝您的信息。在Archives窗口中,我的檔案有一個名稱,一個創建日期和一個帶有版本字符串和內部版本號的版本,比如'2.5(20)' - '20'就是我所說的「版本號「,並希望獲得 - 但可以在info.plist找到,但? – Benjohn 2015-08-01 19:25:16

+0

是的,這些數字是從Info.plist中提取的,並且將會是您設置的任何內容。他們不會自動增加每個構建;你必須想出辦法來自己做。查找'agvtool'是一種方法。 – benzado 2015-08-06 20:13:00

0

我發現這一點: https://github.com/bejo/XcodeIconTagger

顯然,這不是你問什麼,因爲這將標記的圖標,但你也許可以用它給你指出正確的方向。

+0

謝謝你,順便說一句 - 我現在有時間看一看! – Benjohn 2015-07-30 17:35:42