見出し画像

Xcode 14時代のdSYMアップロード

かっくん / iOS Developer

Xcode 14になってbitcodeが無効化されたのでApp Store ConnectからdSYMがダウンロードできなくなりました。
これにより組んでいた自動化のタスクがことごとく失敗するので一旦止めました。
終わり。





ではなく、ちゃんと対応する必要があるのでこの記事では対応した方法を記載します。
noteではCI/CDサービスをXcode Cloudに移行しているのでその前提でお話します。
dSYMのアップロード先はFirebase Crashlyticsです。

bitcodeが無効の状態でdSYMファイルはxcarchiveの中のdSYMsディレクトリに格納されています。
noteのiOSアプリはリリースブランチの更新時に本番同様のアプリをTest Flightに上げているので、このタイミングでスクリプトを実行します。

if [ $CI_WORKFLOW = "Release" ]; then
  zip -r $CI_WORKSPACE/ci_scripts/dSYMs.zip $CI_ARCHIVE_PATH/dSYMs
fi

次に下記のようなシェルスクリプトを用意しました。

あとは先ほど作成したzipファイルをこのスクリプトに渡せばFirebase CrashlyticsにdSYMファイルがアップロードされます。

$CI_WORKSPACE/scripts/dsym_upload.sh $CI_WORKSPACE/ci_scripts/dSYMs.zip $CI_WORKSPACE/PATH/TO/GoogleService-Info.plist

元々はCocoaPodsを利用していたのですが、Swift Package Manager前提になったので、GitHubで配布されているupload-symbolsスクリプトを利用しています。

まとめ

プラットフォームの変更による影響を受けることはこれまでもありましたが、今回もなんとか対応することができました。
次なる困難は一体....!?

この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!