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-05-30上級

Rork で書き出したアプリの native 設定を Expo config plugin で一元管理する

prebuild のたびに消える AdMob ID や ATT 文言を手で書き直していませんか。Rork で書き出したアプリの native 設定を、自作の Expo config plugin で再現可能にし、6本の壁紙アプリで共有した実装記録です。

Rork515Expo149config pluginAdMob70prebuild

プレミアム記事

Rork で書き出したアプリに AdMob を組み込んだ翌週、別のライブラリを足そうとして npx expo prebuild を走らせたら、前の週に手で書き込んだ Info.plistGADApplicationIdentifier がきれいに消えていました。ios/ フォルダごと作り直されるのですから、当然です。けれど当時の私はそれを知らず、また手で書き戻して、また消して、を数回繰り返してしまいました。

2014年から個人でアプリを作ってきて、累計5,000万ダウンロードに育った壁紙アプリ群を今は6本並行で運用しています。同じ AdMob の初期設定を6回手で書くのは、間違いの温床でしかありません。1本だけ App ID を貼り間違えて、リリース後に広告が一切表示されなかったこともありました。この「手作業が native 層に残り続ける」問題を根本から無くしたのが、自作の Expo config plugin でした。

なぜ prebuild のたびに native 設定が消えるのか

Rork や Expo の開発体験は、ios/android/ を意識しなくて済むところに価値があります。これらのネイティブフォルダは「成果物」であって「ソース」ではありません。app.config.tspackage.json という宣言から、npx expo prebuild が毎回ネイティブプロジェクトを生成し直します。

ここを取り違えると延々とハマります。生成物である ios/MyApp/Info.plist を手で編集しても、それは砂浜に書いた文字のようなもので、次の prebuild で波にさらわれます。.gitignoreios/android/ を入れる「managed 寄り」の運用をしているなら、なおさらです。

正しい考え方は「ネイティブ設定もまた宣言から生成されるべき」というものです。その宣言と生成のあいだを橋渡しするのが config plugin です。両祖父が宮大工で、図面の通りに寸分違わず木を刻む姿を見て育ったせいか、私は「同じものは同じ手順から再現できる」状態をとても大切にします。config plugin は、まさにネイティブ設定にその再現性を与えてくれます。

config plugin の仕組み — prebuild の中で何が起きているか

config plugin は、@expo/config-plugins が用意した一連の「mod」を使って、prebuild の途中でネイティブファイルを書き換える関数です。代表的な mod は次の通りです。

  • withInfoPlist — iOS の Info.plist を JS オブジェクトとして受け取り、書き換える
  • withEntitlementsPlist — iOS の entitlements(Associated Domains 等)を扱う
  • withAndroidManifest — Android の AndroidManifest.xml をパース済みオブジェクトで扱う
  • withAppBuildGradleapp/build.gradle の文字列を直接編集する
  • withDangerousMod — 任意のファイルに直接アクセスする最終手段

prebuild は、これらの mod を順番に適用してからネイティブプロジェクトを書き出します。つまり手で Info.plist を編集する代わりに、「prebuild のたびに必ずこの値を入れてくれ」という指示を JS で書いておくわけです。

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

この記事の続きを読む

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

この記事で得られること
AdMob App ID・ATT 文言・SKAdNetwork を prebuild で自動注入する config plugin の完全な実装コード
6本のアプリで native 設定を共有モジュール化し、1か所の修正で全アプリへ反映させる構成
withDangerousMod の冪等性・mod 実行順・EAS Update では走らない、など本番で踏んだ落とし穴と対処
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-06-16
課金復元より先に広告を初期化したら、有料ユーザに一瞬広告が出た — Rork(Expo)アプリの起動順序設計
同意取得・ATT・広告初期化・課金復元・リモート設定を、起動の数百ミリ秒のあいだにどの順番で走らせるか。順序を1つ間違えるだけで、有料ユーザに広告が一瞬出たり、EEA で同意なしの計測が走ったりします。Rork で生成した Expo アプリの起動処理を1つのオーケストレータに畳み、競合を設計で潰す手順を実装メモとしてまとめます。
開発ツール2026-06-15
「広告を消す理由」が3つに増えた日 — Rork アプリの広告非表示判定を1か所に畳む設計
課金していないはずの画面だけ広告が出る、あるいは課金済みの読者に広告が出てしまう。原因の多くは「広告を消す条件」がコードのあちこちに散らばっていることでした。サブスク・買い切り・リワード時限解除の3つを1つの状態に畳み、すべての広告表示を同じフックに通す設計を、個人開発で6本のアプリを運用してきた実装メモとしてまとめます。
開発ツール2026-06-12
Rork 製アプリに開発者デバッグメニューを実装する — 広告・課金・Remote Config の検証をリリース前に終わらせる設計
リリースビルドでしか再現しない広告・課金・Remote Config の不具合に毎回本番で向き合うのは消耗します。壁紙アプリ6本の運用で固まった、ストア提出ビルドには存在ごと残さない開発者デバッグメニューの設計と実装を、動くコードと落とし穴付きで共有します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →