いまでもJenkinsでxcodebuildを使ってビルド作業をしています。
久しぶりに新規プロジェクトのビルドスクリプトを組んだところ、不正なxcarchiveができるようになってしまいました。ipaファイルを出力するためにxcodebuild -exportArchive
を実行すると下記のエラーが出てしまいました。
error: archive at path '/PATH/App.xcarchive' is malformed
プロジェクト名を変えただけの同じビルドスクリプトでも、
🙆♀️ Xcode 11で作成されたプロジェクトは xcarchiveが壊れてる
🙅♂️ Xcode 10で作成されたプロジェクトは問題なし
と結果に差が出ます。
malformedになる原因と対策
あーだこーだ言いながら4時間かけて、正常なxcarchiveを出力できるようにしました。
xcodebuild -sdk iphoneos \ -workspace ${XCWORKSPACE_NAME} \ -scheme ${SCHEME_NAME} \ -configuration Release archive \ -archivePath ${ARCHIVE_PATH} \ SYMROOT=${BUILD_NUMBER_PATH}
↓↓↓
xcodebuild -sdk iphoneos \ -workspace "${XCWORKSPACE_NAME}" \ -scheme "${SCHEME_NAME}" \ -configuration Release clean archive \ -archivePath "${ARCHIVE_PATH}"
SYMROOT
オプションを取りのぞきました。
関連記事
ここまで書いたところで、過去に類似した問題に遭遇していたのに気づいてしまう。
この他にもiOSアプリ開発で見つけたネタや悩んだ内容など紹介しています。Tipsをまとめておりますのでこちらのページをご参照ください。