RORK LABEN
BUILD — Rork Max はクラウド上の実機 Mac に Xcode と iOS SDK を載せ、SwiftUI を書き、ビルドし、エラーを読んで直す反復を回します。コードを吐いて終わりではない点が生成物の質に効いていますNATIVE — 生成されるのは React Native ではなく純粋な Swift / SwiftUI です。AR や Metal、ウィジェットなど React Native からは届かない機能に手が届くことが、他ビルダーとの実質的な差になりますPLATFORMS — 対応は iPhone・iPad・Apple Watch・Apple TV・Vision Pro に加えて iMessage まで含みます。ウォッチや拡張から入る設計を試すのに向いていますCOMPANION — Rork Companion により、有料の Apple Developer アカウントなしで生成したアプリを実機の iPhone で確認できます。最初の一本を試す段階の障壁が一段下がりましたPRICING — 無料で開始でき有料プランは月額25ドルから、Rork Max は月額200ドルの Max プランです。回収できる本数と規模を先に見積もっておく価値がありますDEADLINE — Google Play は2026年8月31日以降、新規アプリと更新の双方に対象 API レベル36 以上を要求します。残り10日で、生成物の targetSdkVersion は自分で確認が必要ですBUILD — Rork Max はクラウド上の実機 Mac に Xcode と iOS SDK を載せ、SwiftUI を書き、ビルドし、エラーを読んで直す反復を回します。コードを吐いて終わりではない点が生成物の質に効いていますNATIVE — 生成されるのは React Native ではなく純粋な Swift / SwiftUI です。AR や Metal、ウィジェットなど React Native からは届かない機能に手が届くことが、他ビルダーとの実質的な差になりますPLATFORMS — 対応は iPhone・iPad・Apple Watch・Apple TV・Vision Pro に加えて iMessage まで含みます。ウォッチや拡張から入る設計を試すのに向いていますCOMPANION — Rork Companion により、有料の Apple Developer アカウントなしで生成したアプリを実機の iPhone で確認できます。最初の一本を試す段階の障壁が一段下がりましたPRICING — 無料で開始でき有料プランは月額25ドルから、Rork Max は月額200ドルの Max プランです。回収できる本数と規模を先に見積もっておく価値がありますDEADLINE — Google Play は2026年8月31日以降、新規アプリと更新の双方に対象 API レベル36 以上を要求します。残り10日で、生成物の targetSdkVersion は自分で確認が必要です
記事一覧/開発ツール
開発ツール/2026-06-28上級

Rork で出したアプリの本番クラッシュが minified のまま届くとき — Hermes のソースマップと debug ID を Sentry に通す

Rork が生成した Expo アプリの本番クラッシュが index.bundle:1:284913 のような数字だけで届く問題を、Hermes のソースマップと debug ID を Sentry へ正しく通して解消する手順をまとめました。

Rork539Expo175Sentry6Hermes7ソースマップクラッシュ解析3

プレミアム記事

リリース直後の本番で、Sentry に届いた最初のクラッシュが index.android.bundle:1:284913 という一行だけだったとき、私は静かに肩を落としました。再現手順も、どの画面で落ちたのかも、その数字からは何もわかりません。Rork が出してくれた React Native(Expo)アプリは Hermes で動いていて、本番のバンドルは1行に minify されています。つまり「クラッシュは取れているのに、中身が読めない」という、いちばん歯がゆい状態でした。

個人開発でアプリを長く運用していると、この「読めないスタックトレース」は必ず一度はぶつかる壁だと思います。Dolice で運用しているアプリ群でも、ネイティブ側は Crashlytics の dSYM で symbolicate していますが、Rork 由来の Expo アプリは仕組みが別物でした。鍵になるのは Hermes の ソースマップ と、それをビルドと結びつける debug ID です。ここを通せば、同じクラッシュ画面に関数名と元のファイルの行番号が戻ってきます。

なぜ Hermes だと数字しか届かないのか

Hermes は JavaScript をそのまま実行するのではなく、ビルド時に Hermes バイトコード(.hbc)へ事前コンパイルします。さらに本番ビルドでは Metro が全モジュールを1ファイルに連結し、変数名を短縮します。手元の PaywallScreen.tsx の 42 行目は、本番では1行に潰れた巨大なバンドルの「列 284913」になります。

クラッシュ時に端末から送られてくるのは、この潰れた後の位置情報だけです。元のファイル名・行番号へ戻す対応表が ソースマップ で、Hermes を使う場合は通常のソースマップに加えて Hermes 専用の合成ステップが必要になります。ここを省くと、ソースマップを上げているつもりでも symbolicate が効かない、という落とし穴にはまります。

debug ID が「同じビルドだ」と保証する

ソースマップを上げても symbolicate が崩れる原因のほとんどは、クラッシュを起こしたバンドルと、アップロードしたソースマップが別ビルドだったことです。バージョン名(1.8.0 など)で紐づけようとすると、ホットフィックスを重ねた瞬間に取り違えが起きます。

これを根本的に解決するのが debug ID です。debug ID はビルドのたびに生成される一意の識別子で、バンドルとソースマップの両方に同じ値が焼き込まれます。Sentry はクラッシュに含まれる debug ID と、アップロード済みソースマップの debug ID を突き合わせるので、バージョン名のズレに依存しません。新しい @sentry/react-native はこの方式を標準にしています。私自身、バージョン照合からこの方式に切り替えてから、symbolicate の取りこぼしがほぼゼロになりました。

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

この記事の続きを読む

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

この記事で得られること
本番のスタックが index.bundle:1:284913 のまま届いて手が出せなかった人が、関数名と行番号まで読めるクラッシュ画面を今日手に入れられる
Hermes の debug ID を EAS Build とソースマップに同時に焼き込み、バージョンが少しでもズレると symbolicate が崩れる事故を防げる
OTA(EAS Update)配信ぶんのクラッシュまで symbolicate できるようになり、月数千DL規模の本番運用でも障害の一次切り分けを5分以内に始められる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-05-07
Rork で作ったアプリの「原因不明クラッシュ」を撲滅する — Error Boundary と Unhandled Promise の実戦的な捕捉法
Rorkが生成したコードに多い、awaitのエラー握り潰しとErrorBoundary不在による原因不明クラッシュへの対策です。react-error-boundaryの配置、Unhandled Promise Rejectionの捕捉、SentryとCrashlyticsの選び方までを解説します。
開発ツール2026-08-21
生成ループが緑を返した後に、私が手元で回している4つの受け入れ検査
ビルドが成功しても出荷できない状態は実在します。AI がビルドを反復する構成で見落とされやすい4点を、成果物そのものを走査する検査スクリプトとして手元に置く方法をまとめました。
開発ツール2026-08-20
ベータ SDK でビルドしたアプリは、TestFlight には配れても審査には出せません
ベータ版の Xcode でビルドしたアプリは TestFlight には配布できますが、App Store の審査には提出できません。手元のビルドがどの SDK で作られたかを確認する方法と、eas.json で提出用ビルドを守る設定をまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →