Xcode を使用してアプリケーションをビルドすると、iOS / OSX はシンボルを次のような名前の dSYM フォルダーに配置します。
~/Library/Developer/Xcode/DerivedData/<build id>/Build/Products/<build type>/appname.dSYM
dSYM ファイルは、アプリケーションの DWARF (属性レコード形式のデバッグ) デバッグ情報を含む ELF ファイルです。 DWARF は、ソースレベルのデバッグをサポートするデバッグファイル形式です。
dSYM に正しい UUID が含まれていることを確認するには、dwarfdump
コマンドを実行し、appname
をアプリケーションの dSYM の名前に置き換えます。
dwarfdump -u appname.dSYM/Contents/Resources/DWARF/appname
Dwarfdump は DWARF 情報を人間が理解できる形式で表示するアプリケーションです。
以下は dwarfdump からの出力例です。
UUID: 5EEDCCD2-38E7-3E52-81EC-B90C7BCD6D91 (armv7) appname.dSYM/Contents/Resources/DWARF/appname
UUID: 583173FD-6697-3E3C-90DC-EA9147563A5B (arm64) appname.dSYM/Contents/Resources/DWARF/appname
ノート: dwarfdump の出力は UUID を大文字とハイフン (-) でレポートします。UUID はしばしばハイフンなしで、すべて小文字で表記されることもあります。 どちらの形式も UUID を表せます。例えば 5EEDCCD2-38E7-3E52-81EC-B90C7BCD6D91
と 5eedccd238e73e5281ecb90c7bcd6d91
は同じ UUID を表します。
正しい dSYM フォルダーが見つかったら、フォルダー全体を圧縮し、Services Dashboard の Manage Symbols タブを使用して Performance Reporting サービスにアップロードします。
Bitcode が使用できる iOS アプリケーションをビルドして App Store に提出すると、Apple はビルドをポストプロセスして新しいバイナリを作成します。新しいバイナリには、新しい UUID と、対応する新しい dSYM があります。この場合、iTunes Connect から dSYM をダウンロードする必要があります。 これは、iTunes Connect にあり My Apps > Activity > All Builds > (任意のビルド) でアクセスできます。
アプリケーションを App Store にアップロードする場合、Include bitcode for iOS content と Upload your app’s symbols to receive symbolicated reports from Apple にチェックを入れると、App Store が正しいシンボルを使って新しい dSYM を生成できるようになります。
新しい dSYM をダウンロードしたら、dwarfdump を使用して UUID が正しいことを確認します。ファイルを圧縮し、 Manage Symbols タブを使って Performance Reporting サービスにアップロードします。
__Manage Symbols__ タブを使って新しいシンボルをアップロードすると、アップロードと使用可能になるまでに短い期間があります。新しいクラッシュレポートを送信する前に少なくとも 5 分間待機してください。それらが処理されると、適切な記号で新しいレポートが生成されます。
シンボル化の詳細については、Apple Developer Web サイトの「Understanding and Analyzing Application Crash Reports」のSymbolicating Crash Reports を参照してください。
注意: 新しい dSYM ID をアップロードするとき、レポートは再記号化されません。新しいシンボルを使用するレポートを生成するには、新しいクラッシュを送信する必要があります。