RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/開発ツール
開発ツール/2026-04-29上級

Rork × MetricKit でアプリの本番品質を計測する実装ガイド — クラッシュ・ハング・電池消費の診断基盤を一人で作る

Rorkで作ったアプリの本番品質を、Apple純正のMetricKitだけで継続的に計測する設計を解説します。クラッシュ・ハング・スクロール品質・電池消費を、サードパーティSDKなしで見える化する実装パターンです。

Rork515MetricKit本番運用10クラッシュ解析3個人開発187

プレミアム記事

3つほどアプリを App Store に出した頃、私は不思議な感覚に包まれていました。ダウンロード数は伸びているのに、星3つのレビューがじわじわ増えていきます。Crashlytics は入れていて、クラッシュは月に数件あるかないか。それなのに「使いづらい」「重い」というレビューが減りません。理由が分かったのは、Apple のドキュメントを読み込んでいたとき、ふと MetricKit の項目に目が止まってからでした。

クラッシュは「アプリが落ちた」という極端な事象です。けれど星3つを付ける読者の不満はもっと前段にあります。スクロールがカクついたり、起動に2秒かかったり、戻るボタンを押した後 0.5 秒固まったり、バッテリーの減りが早く感じたり。こうした「ヒヤリ」をすべて拾える唯一の標準フレームワークが、iOS 13 から提供されている MetricKit です。Rork で作ったアプリにも当然組み込めます。

ここではRork(Expo / React Native ベース)でビルドしたアプリに MetricKit を統合し、Cloudflare Workers をバックエンドにして、レポートを継続的に集計・可視化する全工程を、私が実際に運用している構成のまま共有します。サードパーティの観測 SDK を増やしたくない個人開発者ほど、この設計が刺さるはずです。

なぜ Sentry や Crashlytics ではなく MetricKit から始めるべきなのか

最初に立場をはっきり書きます。私は Sentry も Crashlytics も否定しません。チーム開発で、リアルタイムにスタックトレースを追いたい現場では今でも有効な選択肢だと思います。ただ「個人開発者が静かに改善を続ける」という文脈では、MetricKit の方が明確に向いています。

理由は3つあります。1つ目は プライバシー設計 です。MetricKit のレポートは Apple のシステムが集計し、ユーザー識別子を含まない形でアプリに渡されます。GDPR や ATT 同意を気にせず使えます。2つ目は 電池への優しさ です。Crashlytics や Sentry のリアルタイム送信は、起動ごとに小さな通信を発生させますが、MetricKit は1日1回まとめて配信されるため、ユーザーのバッテリーを消費しません。3つ目は 「測りたかった指標」がそのまま入っている ことです。スクロール 60fps 維持率、起動時間、ハング時間、ディスク I/O、フォアグラウンド/バックグラウンド別のCPU・GPU 使用量。これらを自前で測ろうとすると数週間かかりますが、MetricKit は最初から計測してくれます。

私はこのアプローチを好みます。「クラッシュを潰す」ためのツールに加えて、「日常の不満を減らす」ためのデータが純正で手に入る、というのは個人開発者にとって大きな差です。MetricKit を入れたうえで、本当に必要なら Sentry を後から足せばいい、という順番が現場では実用的だと感じています。

MetricKit が渡してくれる4種類のデータ

MetricKit を組み込むと、MXMetricManager 経由で以下の4種類のレポートが届きます。最初に全体像を頭に入れておくと、実装の意図がクリアになります。

  • MXMetricPayload: 1日に1回、過去24時間のメトリクスをまとめたペイロード。起動時間・ハング・スクロール品質・CPU/GPU/メモリ・電池消費・ディスク I/O・GPS 使用時間などが含まれる
  • MXDiagnosticPayload: クラッシュ・ハング・ディスク書き込み超過・CPU 使用率超過時に届く、コールスタック付きの診断データ。クラッシュレポートとほぼ同等の情報が得られる
  • MXCallStackTree: MXDiagnosticPayload の中身。スレッドごとのコールスタックを JSON で保持
  • MXSignpost: 自前で計測したい区間(例: 「画像アップロードの開始から完了まで」)に名前を付けて記録する仕組み

ここでは MXMetricPayloadMXDiagnosticPayload の活用に集中します。MXSignpost も最後に少し触れますが、まずはこの2つを掴むだけで「ヒヤリの正体」のかなりの部分が見えてきます。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
App Store Connect の数字だけでは見えない『本番のヒヤリ』を、MetricKit のレポートで具体的に特定できるようになる
Sentry や Firebase Crashlytics に頼らず、Apple 純正の枠組みだけで診断パイプラインを組める実装ノウハウを習得できる
クラッシュ・ハング・電池消費・スクロール品質を週次でレビューする、個人開発者でも回せる運用フローを作れる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

開発ツール2026-05-29
Rork × EAS Update の Runtime Version 戦略 — 6 アプリ並行運用で既存ユーザーを壊さない SDK アップグレード設計
Rork で作った 6 つのアプリを並行運用しながら Expo SDK 50→51 を段階的に上げた実装を、runtimeVersion ポリシー比較・eas.json 完全版・配信スクリプト・本番事故からの復旧手順まで一気通貫で残します。
開発ツール2026-05-08
Rork アプリの段階的リリース戦略 — Phased Release・Staged Rollout・Hotfix を組み合わせて『壊さない本番運用』を作る
Rork で出したアプリの本番運用を、iOS Phased Release・Android Staged Rollout・OTA ホットフィックスの三層で守る方法を、判断基準と監視自動化のコード付きで解説します。
開発ツール2026-07-10
クラッシュとして記録されない強制終了 — Rork アプリの JetsamEvent を読む
Crashlytics には何も出ていないのにレビューで「勝手に閉じる」と書かれる。その多くはメモリ超過による OS からの強制終了です。JetsamEvent レポートの読み方と、画像中心アプリのメモリ上限を実測から設計する手順をまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →