web-dev-qa-db-ja.com

iTunes Connectでクラッシュの理由を確認するにはどうすればよいですか?

ITunes Connectでクラッシュ情報を取得する方法はありますか? App Analyticsの下に「オプトインのみのクラッシュ」の数が表示されていることに気付きました。その下の数字を押します(私の場合は2)。これにより、クラッシュが発生した日のみが表示されているように見えるページに移動します。コード行など、有用なクラッシュ情報を表示する方法はありますか?

15
Jason Fel

App Storeに(またはアドホックビルドまたはエンタープライズビルドとして)アプリを既に展開している場合、展開するアプリにXcodeのデバッガーをアタッチしてデバッグすることはできません。問題をデバッグするには、デバイスからのクラッシュログとコンソール出力を分析する必要があります。バックトレース付きのクラッシュレポートを読み取るには、分析する前にシンボリック化する必要があります。シンボリケーションは、メモリアドレスを人間が読める関数名と行番号に置き換えるプロセスです。

アプリケーションのクラッシュレポートを理解および分析するには、 クラッシュレポートのシンボリック化デプロイされたiOSアプリのデバッグ または クラッシュレポートの分析 を参照してください。

クラッシュレポートとシンボリックプロセスの概要enter image description here

  1. ビルド設定でデバッグ情報フォ​​ーマット(DEBUG_INFORMATION_FORMAT)を設定します。これらのデバッグシンボルは、バイナリ内またはコンパニオンデバッグシンボル(dSYM)ファイルに保存されます。
  2. アプリケーションを配布用にアーカイブすると、Xcodeは.dSYMファイルとともにアプリケーションバイナリを収集し、ホームフォルダー内の場所に保存します。
  3. App StoreまたはTest Flightを使用したベータテストでの展開時に、アーカイブをiTunes ConnectにアップロードするときにdSYMファイルを含めます。
  4. アプリケーションがクラッシュすると、記号化されていないクラッシュレポートが作成され、デバイスに保存されます。
  5. デプロイされたiOSアプリのデバッグ の手順に従って、デバイスから直接クラッシュレポートを取得できます。 AdHocまたはEnterprise配布を介してアプリケーションを配布した場合、これがユーザーからクラッシュレポートを取得する唯一の方法です。
  6. デバイスから取得したクラッシュレポートは記号化されておらず、Xcodeを使用して記号化する必要があります。 Xcodeは、アプリケーションバイナリに関連付けられたdSYMファイルを使用して、バックトレースの各アドレスをソースコードの元の場所に置き換えます。結果は、象徴的なクラッシュレポートです。
  7. ユーザーが診断データをAppleと共有することを選択した場合、またはユーザーがTestFlightを介してアプリケーションのベータ版をインストールした場合、クラッシュレポートはApp Storeにアップロードされます。
  8. App Storeはクラッシュレポートを象徴し、同様のクラッシュレポートとグループ化します。同様のクラッシュレポートのこの集計は、クラッシュポイントと呼ばれます。
  9. シンボリッククラッシュレポートは、XcodeのCrashesオーガナイザーで利用できます。
15
Sid Mhatre

問題がどこにあるかを確認するには、Xcode> Window> Organizer> Crashesを開いてアプリケーション

18

はい、それらのクラッシュをXcodeで表示できます。これは、Apple docs in Analyzing crash reports にあります。

6
Arasuvel