簡體   English   中英

xcodebuild存檔失敗,xcode存檔成功

[英]xcodebuild archive fails, xcode archive succeeds

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

腳本中的代碼:

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命令無法成功創建存檔。 此命令的唯一輸出是: ** ARCHIVE FAILED **
如果我只是嘗試構建,而不是存檔,我得到: ** BUILD SUCCEEDED **

存檔確實在預期位置生成文件,並且“顯示包內容”展開以顯示與Xcode中生成的存檔相同的目錄結構,但有一個例外,在Xcode中創建的存檔包括一個名為SCMBlueprint的附加文件夾。

我在其他論壇帖子上看到,歸檔問題通常是由於代碼簽名或配置文件問題。 但是,在這種情況下,我不相信這是一個問題,因為在構建和歸檔過程中,使用的代碼簽名身份和配置文件在控制台中輸出。 我失敗的歸檔使用了成功構建所使用的相同代碼簽名標識和供應配置文件。 此外,我使用Xcode生成了一個存檔,並在該存檔中查找了embedded.mobileprovision文件。 我將此與xcodebuild生成的失敗存檔進行了比較,可以看出它們是相同的。

我已經在網上尋找任何有關導致xcodebuild歸檔失敗的建議,但到目前為止,我很難過! 任何幫助深表感謝!

請檢查存檔過程中是否有任何錯誤。 另外請比較Xcode和命令行輸出之間的日志,它可以幫助您了解編譯失敗的步驟。

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

當我查看它時,我發現存在由PNG文件損壞導致的存檔錯誤,該文件在存檔過程中無法壓縮。 錯誤是非致命的,因此無論如何都會生成存檔。 當我修復PNG文件時,一切都開始順利編譯沒有任何問題。

這恰好發生在我身上,它出現了與PNG不同的問題(可能下面的內容只是更一般的情況):我有一個自定義構建階段,它向stderr輸出錯誤,但構建階段沒有返回在這種情況下退出代碼不同於0 (使用Xcode 9.3 (9E145) xcodebuild )。
構建階段類似於:

find "${SRCROOT}/Directory" -print0 | <...>

其中${SRCROOT}/Directory重命名 ,因此find會在不使腳本失敗的情況下輸出錯誤:構建日志將包含Command /bin/sh emitted errors but did not return a nonzero exit code to indicate failure在執行構建后Command /bin/sh emitted errors but did not return a nonzero exit code to indicate failure相。

雖然Xcode本身沒有問題,但xcodebuild在觸及DSYM后,最終會在**ARCHIVE FAILED**

修復是為了確保如果構建階段輸出到stderr ,構建階段正確地明確地返回不同於0的退出代碼(如1 )。 在我的情況下,更改find引用的路徑修復了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM