RORK LABEN
IOS27 — iOS 27 と iPadOS 27 は9月14日に配信されます。ノーコードや AI で組み立てたアプリにとって、新しい OS が降りてくる週は足場がいちばん揺れますDUO — Apple 初の折りたたみ iPhone Duo が 1,999 ドルから。新しい画面形状は、生成されたレイアウトが最初に壊れる場所でもありますSPLIT — 標準 Rork は Expo 経由の React Native、Rork Max はネイティブ Swift の生成です。折りたたみへの追随の速さも壊れ方も、同じにはならないはずですSUBMIT — 提出の自動化は、Apple 側の仕様変更をそのまま受けます。便利さを語る記事ほど、この揺れに触れないと不誠実になってしまいますRATING — 9月から年齢レーティング質問票への回答が必須になりました。ノーコードで作ったアプリも例外ではありませんSILICON — iPhone 18 Pro の A20 Pro は TSMC の 2nm ノードで作られる初の大量生産スマートフォン向けプロセッサだと報じられていますIOS27 — iOS 27 と iPadOS 27 は9月14日に配信されます。ノーコードや AI で組み立てたアプリにとって、新しい OS が降りてくる週は足場がいちばん揺れますDUO — Apple 初の折りたたみ iPhone Duo が 1,999 ドルから。新しい画面形状は、生成されたレイアウトが最初に壊れる場所でもありますSPLIT — 標準 Rork は Expo 経由の React Native、Rork Max はネイティブ Swift の生成です。折りたたみへの追随の速さも壊れ方も、同じにはならないはずですSUBMIT — 提出の自動化は、Apple 側の仕様変更をそのまま受けます。便利さを語る記事ほど、この揺れに触れないと不誠実になってしまいますRATING — 9月から年齢レーティング質問票への回答が必須になりました。ノーコードで作ったアプリも例外ではありませんSILICON — iPhone 18 Pro の A20 Pro は TSMC の 2nm ノードで作られる初の大量生産スマートフォン向けプロセッサだと報じられています
記事一覧/開発ツール
開発ツール/2026-06-12中級

Rork 製アプリに開発者デバッグメニューを実装する — 広告・課金・Remote Config の検証をリリース前に終わらせる設計

リリースビルドでしか再現しない広告・課金・Remote Config の不具合に毎回本番で向き合うのは消耗します。壁紙アプリ6本の運用で固まった、ストア提出ビルドには存在ごと残さない開発者デバッグメニューの設計と実装を、動くコードと落とし穴付きで共有します。

Rork559React Native237Expo205デバッグメニューAdMob71Remote Config8

プレミアム記事

2026年5月、運営している壁紙アプリの Android 版 v2.1.0 を 5%→25% と段階公開していたとき、「リワード広告で広告を外したはずなのにペイウォールが出る」という報告がレビュー欄に書き込まれました。手元のデバッグビルドでは何度試しても再現しません。原因は後述するとおり課金判定の合成漏れだったのですが、このとき一番つらかったのは、本番と同じ条件 — 本物の Remote Config、本物の広告在庫、本物の課金状態 — を手元で再現する手段が、当時のそのアプリに無かったことです。

リリースビルドでだけ顔を出す不具合は、広告・課金・リモート設定の3つが絡む場所に集中します。逆に言えば、この3つを実機の画面から安全に切り替えられる「開発者メニュー」を一度作ってしまえば、この種の検証の大半はリリース前に終わらせられます。個人開発で壁紙アプリ6本を並行運用するなかで形になってきた、ストア提出ビルドには存在ごと残らないデバッグメニューの設計と実装をまとめます。

「設定画面の隅に隠す」では、なぜ破綻するのか

最初に作りがちなのは、設定画面の最下部に __DEV__ 条件で項目を足していくやり方です。私も最初の数年はそうしていました。これが破綻する理由は3つあります。

  • 散らばる: 広告のテスト切替は広告モジュールに、接続先の切替は API クライアントに、と条件分岐がコードベース全体へ広がっていきます。半年後の自分は、どこに何を仕込んだか思い出せません。
  • 消し忘れる: リリース直前に「あのフラグ、戻したかな」と不安になる構造そのものが事故の温床です。実際、私は過去に検証用の接続先 URL を本番ビルドへ残しかけたことがあります。提出前のチェックリストで拾えたものの、仕組みで防げていない不安は残りました。
  • 再現手順を共有できない: 「◯◯をオンにして△△の画面を3回開くと出ます」という手順が口伝になります。一人で開発していても、未来の自分は他人です。

そこで方針を逆にします。デバッグ操作は1つの画面に集約し、その画面への入口と実装そのものをビルド種別で消す。散らばった if を追いかける代わりに、「上書きレイヤー」を1枚だけ設計するイメージです。

全体像 — 4セクションと、譲らない2つのルール

いま6本のアプリで運用しているメニューは、次の4セクションに落ち着きました。

  • 環境: コンテンツ配信や API の接続先切替(dev / staging / production)と、現在のビルド variant の表示
  • 広告: テスト広告モードの切替、直近の広告ロード結果ログ、メディエーションでどのネットワークがフィルしたかの表示
  • 課金: エンタイトルメント(広告非表示・プレミアム)の強制上書きと、購入フローのサンドボックス起動
  • Remote Config: 任意キーの上書きと、モーダル系施策の強制発火

そして、どのアプリでも譲っていないルールが2つあります。

  1. ストアへ提出するビルドには、メニューの入口だけでなくコードごと含めない。「見えないだけで入っている」状態は、審査の観点でも事故防止の観点でも中途半端です。
  2. 上書きが1つでも効いている間は、画面の隅に常時バッジを出す。 テスト状態のまま本番の数値を眺めて一喜一憂する、という間抜けな時間をこのバッジで撲滅しました。

なぜ2つ目をここまで強調するかというと、デバッグメニューの最大の敵は「自分が何を上書きしたか忘れること」だからです。上書きは便利になるほど忘れます。状態の可視化は飾りではなく、機能の一部だと考えています。

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

この記事の続きを読む

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

この記事で得られること
「本番ビルドでしか再現しない」広告・課金まわりの不具合調査で消耗していた人が、同じ条件を手元で再現できる開発者メニューを今日から実装できる
環境切替・広告テストモード・課金状態シミュレーション・Remote Config 上書きを1画面に集約する設計パターンと、そのまま動く TypeScript コードを習得できる
デバッグ機能をストア提出ビルドから存在ごと取り除き、審査リスクと消し忘れ事故を避ける運用チェックリストを自分のアプリに適用できる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-09-04
EAS の secret は「アプリに入れない」設定ではありません — 接頭辞と可視性を別々に決める
EXPO_PUBLIC_ の接頭辞は成果物に入るかを決め、EAS の可視性は誰が読めるかを決めます。二つを重ねたときに OTA 更新でだけ値が消える筋道と、出荷前に自分の手で確かめる手順をまとめました。
開発ツール2026-08-22
一括置換は全ファイル成功しました。壊れたのは、消さなかった行のほうです
生成コードに一括置換をかけると、一致した行ではなく隣の行が壊れます。運用中のプロジェクトで実際に起きた破損と、置換の不変条件を検査する20行のガードスクリプトをまとめました。
開発ツール2026-07-30
Renovate が触ってよい依存と、触ってはいけない依存 — Expo SDK 57 の123パッケージを機械的に切り分ける
Rork 生成アプリに依存の自動更新を入れると、Expo が版を管理している123パッケージまで巻き込まれます。2026年7月30日時点の実測では、うち6件が npm の最新版へメジャー更新される差でした。除外リストを手で書かず SDK から機械生成する手順をまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます