2016-08-12 91 views
0

我正在嘗試使用shell腳本和Xcode中的命令行工具自動將提交過程提交給iTunesConnect。到目前爲止,我已經設法實現了流程欄的每一步:歸檔。xcodebuild存檔失敗,xcode存檔成功

從腳本代碼:

echo "Attempting to build target: ${TARGET_PRODUCT}" 
cd $ENGINE_PATH 
# Clean 
/usr/bin/xcodebuild clean -project projName.xcodeproj -target "${TARGET_PRODUCT}" -configuration Release 
# Build and Archive 
/usr/bin/xcodebuild archive -project projName.xcodeproj -scheme "${TARGET_PRODUCT}" -configuration Release -archivePath "${TARGET_PRODUCT}".xcarchive 

到目前爲止,歸檔命令一直未能成功創建歸檔。該命令的唯一輸出是:** ARCHIVE FAILED **
如果我只是嘗試打造,而不是歸檔,我得到:** BUILD SUCCEEDED **

的檔案確實在預期的位置產生一個文件和「顯示包內容」展開,以顯示等同於在Xcode生產與檔案的目錄結構一個例外,Xcode中創建的存檔包含一個名爲SCMBlueprint的額外文件夾。

我在其他論壇帖子上看到歸檔問題通常是由於代碼簽名或配置文件問題。但是,我不認爲這是一個問題,因爲在構建和歸檔過程中,所使用的代碼標識身份和供應配置文件將在控制檯中輸出。我的失敗歸檔使用的是與成功構建版本相同的Code Sign Identity和Provisioning Profile。另外,我使用Xcode製作了一個檔案,並查看了embedded.mobileprovision文件的檔案。我將它與xcodebuild生成的失敗歸檔進行了比較,可以看到它們是相同的。

我在網上尋找其他地方的任何建議,導致xcodebuild歸檔失敗,但到目前爲止,我很難過!任何幫助深表感謝!

+0

那裏必須有額外的錯誤信息。沒有他們,你無法找到原因。 – Droppy

+0

處理命令時有通常的輸出,例如,編譯源文件,鏈接,生成targetName.app.dSYM,觸摸targetName.app,簽署targetName.app,然後只是** ARCHIVE FAILED **。失敗消息之前的最後一步是-validate-for-store。儘管如此,沒有進一步說明導致存檔失敗的原因。 – charlessunshine

+0

在這裏有完全相同的問題:( – sachadso

回答

3

請檢查您是否在歸檔過程中沒有任何錯誤。還請比較Xcode和命令行輸出之間的日誌,它可以幫助您瞭解哪些步驟編譯失敗。

我有同樣的問題。存檔失敗沒有任何特定的原因,而.xcarchive出品。我看着xcode的構建日誌注意到它完成了Build finished with errors消息。儘管這個錯誤組織者顯示存檔,我能夠從中導出IPA。

當我回顧了這一點,我發現有一個歸檔錯誤是由壓縮的PNG文件引起的,在歸檔過程中無法壓縮。錯誤是非致命的,因此無論如何正在生成存檔。當我修復PNG文件時,一切都開始順利編譯,沒有任何問題。

+0

這是一個了不起的發現,我一直忽略非致命的PNG暗戀錯誤。模糊的命令行存檔解決方案,IMO的蘋果公司確實錯過了他們的工具質量,希望他們很快就能找到更好的開發人員。 – jcpennypincher