重要
Xcode 14 以降では、App Store は Xcode 14 からのビットコード送信を受け入れなくなりました。プロジェクトで明示的にビットコードを有効にすると、Xcode は「ビットコードを使用したビルドは非推奨です。プロジェクトやターゲット設定を更新して、ビットコードを無効にしてください。」Xcode 14 のリリース ノートには、「ビットコードを使用してアプリをビルドする機能は、将来のアップデートで削除される」と書かれています。
Xcode 14 以降を使用する場合、ビットコードを使用してリリース ビルドからシンボリック化されたクラッシュ スタックをキャプチャする代わりに、 自動シンボル アップロード スクリプトを使用してビルドのシンボルをアップロードすることをお勧めします。
ビットコードは、Apple が特定のユーザーのハードウェア用に iOS および tvOS アプリケーションを再コンパイルできるようにする機能です。これにより、エンド ユーザーのダウンロード サイズが小さくなります。このプロセスの詳細については、Apple のビットコードとアプリの細線化に関するドキュメント を参照してください。Apple がアプリをコンパイルすると、dSYM ファイルもコンパイルされます。New Relic が Bitcode 対応アプリのクラッシュを象徴できるようにするには、これらの dSYM ファイルを Apple からダウンロードしてから New Relic にアップロードする必要があります。
欠落しているdSYMを特定する
Bitcode対応アプリをAppStoreのレビューまたはアドホック配布のためにAppleにアップロードする場合、モバイルクラッシュレポートを適切にシンボル化できるように、dSYMをAppleから手動でダウンロードしてNewRelicにアップロードする必要があります。これらのdSYMは、アプリをアップロードしてから数分以内にXcodeのアーカイブオーガナイザーからダウンロードできます。この状況では、手順に従ってアーカイブを検索し、dSYMをダウンロードします。
アプリにdSYMファイルがない場合は、モバイルモニタリングUIに次の3つのインジケーターが表示されます。
バナー通知: クラッシュレポートページにバナー警告が表示されます。警告は次のとおりです。
We were unable to locate your dsym.Upload prompt: Crash type summary のページから、 dSYMファイル がない場合、アップロードするように自動的に促されます。
マシンコード:クラッシュレポートページのクラッシュスタックトレースには、人間が読める形式のエラーメッセージではなく、マシンコードが表示されます。
iTunes ConnectによるdSYMファイルのダウンロード
アプリに必要なdSYMファイルをダウンロードします。
- Apple AppStoreConnectにログインします。
- アプリ > (アプリを選択) > TestFlight を選択します。
- アプリケーション用のビルドのリストから、dSYMに必要なビルド番号を選択します。
- [メタデータのビルド]タブから、[ dSYMのダウンロード]を選択します。
そして、出来上がったZIPファイルをNew Relicに直接アップロードします。
- 手動でdSYM をアップロードする場合は、手順1を飛ばしてください。
- このZIPファイルに含まれるdSYMを1つ解凍して、アップロード可能なビルドUUIDを取得してください。(手動アップロード手順の最後のステップに従ってください。)
New Relic が zip ファイルを受け取ると、その zip ファイルに含まれる他のすべての dSYM のビルド UUID が特定されます。
Xcodeのapp archiveを使ってdSYMファイルをダウンロードします。
アプリのバージョンとビルド番号 を使って、Xcode Organizer で該当するアプリのアーカイブを特定し、dSYMをダウンロードします。
Xcodeを使ってdSYMをダウンロードする: Archives タブから、アプリとバージョン/ビルドを選択して、 Download dSYMs.
- Xcodeを開く オーガナイザー: Xcode メニューから、 Window> オーガナイザー> Archives> (モバイルアプリを選択).
- バージョン から、アプリのバージョン(最初に表示されている)とビルド番号(アプリのバージョンの後にカッコで表示されている)に一致するアーカイブを選択します。
- Select Download dSYMs.
dSYMは、ファイル名にアルファベットと数字が含まれていれば、Appleからダウンロードされます。dSYMのファイル名がプロジェクトの依存関係を表すものであれば、ダウンロードは成功しません。
dSYMのアップロード
dSYMの場所がわかったら、指示に従って、zip圧縮されたdSYMごとにdSYM をアップロードしてください。