mcpField
A
axiom-app-store-connect-ref

axiom-app-store-connect-ref

github.com/charleswiltgenテスト・品質1.2k183 回インストール今日更新
リポジトリ

axiom-app-store-connect-ref について

App Store Connect でクラッシュ、TestFlight のフィードバック、アプリのパフォーマンス指標を確認する開発者やチーム向けの実用リファレンスです。手動操作、データのエクスポート、API と asc-mcp によるプログラムアクセスを説明します。

主な機能

  1. 01クラッシュダッシュボードの閲覧と絞り込み
  2. 02クラッシュシグネチャの確認とログ取得
  3. 03TestFlight のフィードバックとスクリーンショット確認
  4. 04パフォーマンスと終了指標の追跡
  5. 05API または asc-mcp によるデータエクスポート

活用シーン

  1. 01アプリのバージョン間でクラッシュを調査
  2. 02リリース前後のパフォーマンスを比較
  3. 03特定ビルドのテスター報告を確認
  4. 04分析用の診断データをエクスポート

MCP 対応

asc-mcp を介した App Store Connect へのプログラムアクセスを説明します。指標、診断ログ、TestFlight テスター、レビュー、ビルド状態などのツールを扱います。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/charleswiltgen/axiom --skill axiom-app-store-connect-ref

インストール後、Claude Code で/axiom-app-store-connect-refを入力して読み込まれたか確認します。

詳細

App Store Connect リファレンス

概要

App Store Connect(ASC)では、アプリのクラッシュレポート、TestFlight のフィードバック、パフォーマンス指標を確認できます。このリファレンスでは、ASC でクラッシュデータを検索し、分析用にエクスポートする方法を説明します。

ASC と Xcode Organizer の比較
タスク最適なツール
開発中の迅速なクラッシュのトリアージXcode Organizer
チーム全体でのクラッシュ状況の把握App Store Connect
スクリーンショット付きの TestFlight フィードバックApp Store Connect
過去の指標と傾向App Store Connect
分析用のクラッシュログのダウンロードどちらでも可(ASC のほうがエクスポートに優れています)
シンボリケーションXcode Organizer

クラッシュデータへの移動

クラッシュ画面へのパス
App Store Connect
└── My Apps
    └── [Your App]
        └── Analytics
            └── Crashes

直接 URL の形式: https://appstoreconnect.apple.com/analytics/app/[APP_ID]/crashes

クラッシュダッシュボードのセクション
  1. フィルターバー — プラットフォーム、バージョン、日付範囲、比較
  2. クラッシュのないユーザーのグラフ — 日ごとの割合の推移
  3. バージョン別のクラッシュ数 — バージョンを比較する棒グラフ
  4. 上位のクラッシュシグネチャ — 割合の高い順に表示し、例外の種類と関数名を示します
主な指標の説明
指標意味
クラッシュのないユーザークラッシュを経験しなかった日次アクティブユーザーの割合
クラッシュ数受信したクラッシュレポートの合計数
クラッシュ率1,000 セッションあたりのクラッシュ数
影響を受けたデバイスクラッシュした一意のデバイス数
クラッシュシグネチャ同じスタックトレースを持つクラッシュをグループ化したもの
フィルターオプション
フィルター使用例
プラットフォームiOS、iPadOS、macOS、watchOS、tvOS
バージョン特定のアプリバージョンを詳しく調べる
日付範囲過去 7 日/30 日/90 日、またはカスタム範囲
比較バージョン間のクラッシュ率を比較する
デバイスiPhone のモデル、iPad などで絞り込む
OS バージョン特定の OS で発生するクラッシュを見つける

個別のクラッシュレポートの表示

クラッシュシグネチャの詳細

各クラッシュシグネチャには、次の情報が表示されます。

  • ヘッダー — 例外の種類、影響を受けたデバイス数/クラッシュ数、初回確認日
  • 例外情報 — 種類(例:EXC_BAD_ACCESS)、コード、アドレス
  • クラッシュしたスレッド — バイナリ、関数、オフセットを含むスタックフレーム
  • 分布 — iOS バージョンとデバイスモデル別の内訳
クラッシュログのダウンロード
  1. クラッシュシグネチャをクリックします
  2. Download Logs ボタン(右上)を探します
  3. 形式を選択します。
    • .ips(JSON 形式、iOS 15 以降)
    • .crash(テキスト形式、レガシー)
  4. crash-analyzer エージェントを使用して解析します:/axiom:analyze-crash

TestFlight のフィードバック

フィードバックへのパス
App Store Connect
└── My Apps
    └── [Your App]
        └── TestFlight
            └── Feedback
フィードバックの内容

各フィードバックには、次の項目が含まれます。

項目説明
スクリーンショットテスターが見た画面(多くの場合、最も有用です)
コメントテスターによる問題の説明
アプリバージョンTestFlight の正確なビルド番号
デバイスモデルiPhone 15 Pro Max、iPad Air など
OS バージョンiOS 17.2.1 など
バッテリー残量バッテリー残量が少ないと動作に影響する場合があります
使用可能なディスク容量ディスク容量が少ないと書き込みに失敗する場合があります
ネットワークの種類Wi-Fi またはモバイル通信
ロケール言語と地域の設定
タイムスタンプ送信日時
フィードバックの絞り込み
フィルター使用例
ビルド特定の TestFlight ビルドに絞る
日付新しいフィードバックを先に表示する
スクリーンショットあり視覚的な問題をすばやく見つける
制限事項:返信不可

TestFlight のフィードバックは一方向です。ASC からテスターに返信することはできません。フォローアップするには、次の方法があります。

  • TestFlight グループのメールで連絡する
  • アプリ内フィードバック機能を追加する
  • TestFlight のメモにメールアドレスを記載する

指標ダッシュボード

指標へのパス
App Store Connect
└── My Apps
    └── [Your App]
        └── Analytics
            └── Metrics
利用可能なメトリクスのカテゴリ
カテゴリ表示内容
クラッシュクラッシュのないユーザー数、クラッシュ数、上位のシグネチャ
ハング率メインスレッドの 250ms を超えるハング
ディスク書き込み過剰なディスク I/O のパターン
起動時間アプリの起動パフォーマンス
メモリピーク時のメモリ使用量、終了
バッテリーフォアグラウンド/バックグラウンドでのエネルギー使用量
スクロールスクロールの引っかかり率
終了(クラッシュ以外の強制終了)

Metrics ダッシュボードには、クラッシュレポートが生成されない終了が表示されます。

終了の種類原因
メモリ制限メモリ不足により Jetsam がアプリを強制終了しました
CPU 制限(バックグラウンド)バックグラウンド CPU の割り当て量を超過しました
起動タイムアウトアプリの起動に時間がかかりすぎました
バックグラウンドタスクのタイムアウトバックグラウンドタスクが制限時間を超過しました
バージョンの比較

Compare フィルターを使って、次の点を確認します。

  • クラッシュ率は改善しましたか、それとも悪化しましたか?
  • どのバージョンで急増しましたか?
  • リリースごとのパフォーマンスの傾向

データのエクスポート

手動エクスポート
  1. Crashes または Metrics に移動します
  2. 日付範囲フィルターで期間を選択します
  3. Export をクリックします(利用可能な場合)。または、個別のクラッシュログをダウンロードします
App Store Connect API

エクスポートを自動化するには、App Store Connect API を使用します。

# Get crash diagnostic insights
GET /v1/apps/{id}/perfPowerMetrics

# Authentication requires API key from ASC
# Users and Access → Keys → App Store Connect API

API の機能:

エンドポイントデータ
perfPowerMetricsパフォーマンスと電力のメトリクス
diagnosticSignaturesクラッシュシグネチャの集計
diagnosticLogs個別のクラッシュログ
betaTestersTestFlight テスター情報
betaFeedbackTestFlight フィードバック項目
MCP を利用したアクセス

asc-mcp が設定されている場合、Claude Code からプログラムで ASC データにアクセスできます。

ASC での手動操作asc-mcp ツール
クラッシュメトリクスを表示metrics_app_perf、metrics_build_diagnostics
クラッシュログをダウンロードmetrics_get_diagnostic_logs
TestFlight テスターを一覧表示builds_get_beta_testers
アプリのレビューを表示reviews_list、reviews_stats
レビューに返信reviews_create_response
ビルドのステータスを確認builds_get_processing_state
売上データをエクスポートanalytics_sales_report(vendor_number が必要です)

セットアップとワークフロー:/skill axiom-asc-mcp

Xcode Cloud との統合

Xcode Cloud を使用している場合、クラッシュデータは CI/CD と統合されます。

  • ワークフローの実行ごとにクラッシュを表示
  • ブランチ間でクラッシュ率を比較
  • クラッシュの急増時にアラートを自動送信

ベストプラクティス

毎日のモニタリング
  1. クラッシュのないユーザーの割合を確認します
  2. 新しいクラッシュシグネチャがあれば確認します
  3. バージョン間のデグレードを監視します
クラッシュのトリアージ優先度
優先度基準
P0 - 重大ユーザーの 1% 超に影響、データ損失のリスクあり
P1 - 高0.5% 超に影響、ユーザーに直接影響
P2 - 中0.5% 未満に影響、回避策あり
P3 - 低まれなエッジケース、影響なし
リリースとの関連付け

各リリース後に、次の手順を実行します。

  1. クラッシュデータが反映されるまで 24~48 時間待ちます
  2. クラッシュのない割合を前のバージョンと比較します
  3. 新たに上位に入ったクラッシュシグネチャを調査します
  4. TestFlight のフィードバックでユーザー報告を確認します

よくある質問

ASC でクラッシュが表示されないのはなぜですか?
原因対処方法
最近すぎる処理が完了するまで 24 時間待ちます
まだユーザーがいない報告には有効なインストールが必要です
ユーザーが共有をオプトアウトしたデバイスの分析データ共有が必要です
ビルドが配布されていないTestFlight または App Store で配布する必要があります
クラッシュがシンボリケートされないのはなぜですか?

配布時に dSYM をアップロードしていれば、ASC のクラッシュは自動的にシンボリケートされます。dSYM ファイルには、メモリアドレスを関数名や行番号に対応付けるデバッグシンボルが含まれています。

dSYM がアップロードされたことを確認する方法:

  1. Xcode → ウインドウ → オーガナイザー → アーカイブ → ビルドを選択
  2. 右クリック →「Finder で表示」→ .xcarchive を右クリック →「パッケージの内容を表示」
  3. dSYMs/ フォルダーに .dSYM バンドルが含まれていることを確認

手動でシンボリケートする手順:

# 1. Download .ips file from ASC (Crashes → signature → Download Logs)

# 2. Find the binary UUID from the crash report
grep --after-context=2 "Binary Images" crash.ips
# Look for: 0x100000000 - 0x100ffffff MyApp arm64 <UUID>

# 3. Locate matching dSYM on your machine
mdfind "com_apple_xcode_dsym_uuids == <UUID>"

# 4. Symbolicate an address
atos -arch arm64 -o MyApp.app.dSYM/Contents/Resources/DWARF/MyApp \
     -l 0x100000000 0x100045abc
# Output: -[UserManager currentUser] (UserManager.m:42)

シンボリケートでよくある問題:

症状原因解決方法
すべてのアドレスがシンボリケートされないdSYM がアップロードされていないXcode オーガナイザーから再アップロードする
自分のコードだけシンボリケートされないdSYM の UUID が一致しない同じコミットから再ビルドする
システムフレームワークがシンボリケートされないデバイス固有の場合は正常ですデバイスサポートファイルと atos を使用する
Bitcode ビルドがシンボリケートされないApple がバイナリを再コンパイルしたASC から dSYM をダウンロードする:Xcode → オーガナイザー → デバッグシンボルをダウンロード

自動解析については crash-analyzer エージェントをご覧ください:/axiom:analyze-crash

ASC とオーガナイザー:どちらのスタックトレースが優れていますか?

どちらも同じデータを表示しますが、次の違いがあります。

  • オーガナイザーは Xcode プロジェクトと連携します(クリックするとコードに移動します)
  • ASCはチーム全体での可視性や過去の傾向の把握に適しています

MetricKit によるフィールド診断

デバイスレベルのクラッシュ診断、ハング時のコールスタック、ASC の集計ダッシュボード以外のカスタムテレメトリーについては、axiom-metrickit-ref をご覧ください。

主な違い:ASC はチームで傾向を把握できるよう、集計データを表示します。MetricKit は、独自のテレメトリーと関連付けられるデバイスごとの診断情報を提供します。


関連項目

スキル:axiom-testflight-triage(Xcode オーガナイザーのワークフロー)、axiom-asc-mcp(MCP 経由でのプログラムによる ASC アクセス)

エージェント:crash-analyzer(クラッシュログの自動解析)

コマンド:/axiom:analyze-crash


リソース

WWDC: 2020-10076、2020-10078、2021-10203、2021-10258

ドキュメント: /app-store-connect/api、/xcode/diagnosing-issues-using-crash-reports-and-device-logs

コメント