いまでも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をまとめておりますのでこちらのページをご参照ください。