2010-11-20 70 views
1

有沒有辦法給測試人員上傳到App Store的確切二進制文件進行測試?iPhone/iOS:一次構建,簽署兩次

基本上我想知道的是是否可以構建源代碼然後對它進行兩次簽名:一次用於ADHOC分發,然後用於App Store分發。

我被一些緩存的圖片資源燒了,我想知道是否可以在不使用專門的構建項目的情況下防止這種情況發生。

歡呼聲...

回答

1

您可以自己運行codesign。我應該繞過博客如何重新簽署應用程序,但大多數情況下,您想要提取資源規則和權利,覆蓋MyApp/embedded.mobileprovision,然後執行類似codesign -f -s 'iPhone Developer' --entitlements=extracted-entitlements-file --resource-rules=extracted-resource-rules(我可能有語法有點不對)。

(當然,這是不一樣的「確切的二進制」,因爲embedded.mobileprovision和嵌入的簽名不同。)

然而,去年我查了,你不需要。 iOS 不需要要求安裝嵌入式供應配置文件;它只會尋找一個「類似」的(所以你可以添加一個設備到配置文件,但不必重新簽署所有的舊版本)。我不確定什麼是「相似」(相同的應用程序ID,捆綁種子和權利?),但我已經能夠通過安裝相應的Ad Hoc置備配置文件來運行App Store生成。

當你說「被一些緩存的圖像資源燒燬」時,你的意思是它不是一個乾淨的版本?我強烈推薦設置一個構建服務器,它可以從乾淨的簽出生成乾淨的構建;究竟如何去做這件事超出了這個答案的範圍(我們使用Buildbot和一堆腳本),但它似乎比提交由隨機開發者機器生成的構建好得多(並且這也意味着我可以安裝隨機測試版SDK而不會搞亂應用程序提交)。