iOS アプリのクラッシュ ログがどのように記号化されるかについてはよく知っていますが、これは難問です。
Xcode 7.2 (7C68) で通常のアーカイブを使用してから App Store にアップロードするフローを使用して、TestFlight を通じてベータ版としてリリースされたビルド 2345 の MyApp があります。
xcarchive でバイナリの dwarfdump を実行すると、次のようになります。
dwarfdump --uuid MyApp.app/MyApp
UUID: 0BDA6D6F-3C0D-339E-842F-C2CB04199E10 (armv7) MyApp.app/MyApp
UUID: B2A69BEC-DF5E-33EA-A9E0-490EBF03074C (arm64) MyApp.app/MyApp
dSYM ファイルの dwarfdump は次のとおりです。
dwarfdump --uuid MyApp.app.dSYM
UUID: 0BDA6D6F-3C0D-339E-842F-C2CB04199E10 (armv7) MyApp.app.dSYM/Contents/Resources/DWARF/MyApp
UUID: B2A69BEC-DF5E-33EA-A9E0-490EBF03074C (arm64) MyApp.app.dSYM/Contents/Resources/DWARF/MyApp
ここまでは順調ですね。
ただし、バイナリの UUID が異なるビルド 2345 の [整理] > [クラッシュ] でクラッシュが発生しました。
0x100054000 - 0x1000fffff myapp arm64 <3715db2438743cf5aac1742d9a214c2c> /var/mobile/Containers/Bundle/Application/7313BC02-3F90-4F94-82E2-CBDC941E5D68/MyApp.app/myapp
0x100144000 - 0x1001e7fff AWSCore arm64 <c2aa13236d0437b98194c0487db69e68> /var/mobile/Containers/Bundle/Application/7313BC02-3F90-4F94-82E2-CBDC941E5D68/blink.app/Frameworks/AWSCore.framework/AWSCore
....
クラッシュレポートが同じビルドのものであることは確かですが、ここのUUIDは3715db2...
私が期待している場合のものですb2a69bec...
私はビットコードを有効にしているので、オーガナイザーのアーカイブ ページから dSYM をダウンロードしようとしましたが (Apple がそうする必要はなかったので arm64 をビルドしましたが)、クラッシュ レポートの他の UUID/バイナリの dSYM を取得しましたが、myapp
バイナリ。実際、このmyapp
バイナリは、対応する dSYM がダウンロードされなかった唯一のバイナリです!
いくつか質問があります:
3715db2438743cf5aac1742d9a214c2c
myapp バイナリのバージョンはどこから来たのですか?- クラッシュを象徴できるように、dSYM を取得するにはどうすればよいですか? Apple は、Xcode の「Download dSYMs」オプションでそれを返しません。