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が参加しました
ブログ一覧

Rork Maxで収益化アプリを実際に作ってみた — サブスクリプション設計からApp Store審査突破まで

Rork Max収益化サブスクリプションApp StoreRevenueCat個人開発

個人開発者として「AIでアプリを作れる時代」を体感してきたつもりでしたが、Rork Maxに課金して本格的に収益化アプリに挑戦してみたところ、想像以上に深い世界が広がっていました。今回はその実録をまとめました。成功談だけでなく、詰まったポイントや反省もそのまま書きますので、参考になれば嬉しいです。

作ったアプリの概要

制作したのは「習慣トラッカー+AIコーチ機能付き」のシンプルなiOSアプリです。毎日の習慣を記録し、3日続いたらAIが励ましのメッセージを送ってくれるという構成。コア機能は無料、週次AIレポート機能をサブスクリプション(月額)で提供するモデルを想定しました。

技術的には目新しさはありませんが、「Rork Maxだけでここまで作れるか」という検証も兼ねた実験プロジェクトです。

サブスクリプション設計:最初に全体像をプロンプトに含める

Rorkを使ったことがある方なら感じるかと思いますが、後から「やっぱりこの機能を有料にしたい」と言い出すと、コードの整合性が崩れやすくなります。私が学んだ最大の教訓は、最初のプロンプトから収益化の設計を含めることでした。

具体的には、こんな構成でプロンプトを組みました。

アプリ名: HabitBoost
機能:
- 無料: 習慣登録(最大5個)、毎日のチェック
- Pro(月額): 習慣登録無制限、週次AIレポート、データエクスポート

課金:
- RevenueCatを使ったサブスクリプション
- 決済UI: ネイティブのStoreKit 2
- 未課金ユーザーには機能制限UIを表示(ぼかし+アップグレードボタン)

ここで重要だったのは「RevenueCatを使う」と明示した点です。Rork Maxはサードパーティの決済SDKに対応しており、RevenueCatのSwiftパッケージを組み込んだコードを生成してくれました。漠然と「サブスク機能をつけて」と伝えるより、ライブラリ名を具体的に指定した方が生成精度が格段に上がります。

プロンプト設計で詰まったポイント

画面遷移と権限チェックの一貫性

最初に生成されたコードでは、一部の画面で課金チェックが抜けていることがありました。Rork Maxは全体の設計を把握しているとはいえ、複数画面にまたがる権限管理は複雑になりやすいです。

解決策として、「全ての有料機能画面の冒頭でRevenueCatの購読状態をチェックし、未購読ならPaywallViewを表示する」というルールをプロンプトで一文追加しました。これで生成コードの一貫性が改善されました。

RevenueCatのAPIキーはプレースホルダーで

これは重要な点なので強調しておきます。プロンプト内や生成コードの中にRevenueCatのAPIキーを直接書いてはいけません。YOUR_REVENUECAT_API_KEYのようなプレースホルダーを使い、実際のキーはローカルでの差し替え時に設定してください。GitHubにpushする際もシークレットスキャンが反応してしまいます。

Xcodeへのエクスポートと最終調整

Rork MaxはXcodeプロジェクトとしてエクスポートできます。エクスポート後にやった作業は以下の3点です。

1. Signing & Capabilitiesの設定

In-App Purchase機能をXcodeで有効化する必要があります。これはRorkが自動でやってくれるわけではないので、Xcodeで手動で追加しました。

2. RevenueCatのAPIキー差し替え

先ほど触れたプレースホルダーを実際のキーに置換。AppDelegate.swiftまたは@mainのエントリポイントに初期化コードが生成されていたので、そこに設定しました。

3. App Store ConnectでのProduct設定

App Store Connect側でサブスクリプション商品を設定するのは完全に手動作業です。ここはRorkの範囲外ですが、RevenueCatのダッシュボードと連携させることで管理がしやすくなりました。

App Store審査で引っかかったこと

初回申請では2点のリジェクトを受けました。

リジェクト1: 課金ボタンの表示が不明瞭

サブスクリプションの価格と更新条件が小さなテキストで表示されていたため、ガイドラインに抵触しました。「料金・期間・キャンセル方法を明確に表示する」という要件は意外と厳格です。Rorkに「課金プランの説明テキストはAppleのサブスクリプションガイドラインに準拠した形式で表示する」と再プロンプトして修正しました。

リジェクト2: テスト用APIキーが残っていた

RevenueCatのSandboxキーを本番用に差し替えるのを忘れていました。ビルド設定(DEBUG/RELEASE)でキーを切り替えるコードをRorkに生成してもらい、対応しました。

2回のリジェクトを経て、申請から約10日で無事承認されました。

実際に使ってみての所感

Rork Maxを使った収益化アプリ開発の体験を正直に振り返ると、「アプリの骨格を作る速さ」は本当に別次元でした。サブスクリプション設計を含む習慣トラッカーが3〜4時間で動く状態になるのは、ゼロからSwiftで書いていた頃と比べると信じられない速度感です。

一方、細部の調整(審査向けの表示最適化・APIキー管理・証明書設定)はまだ手動の知識が必要です。そこは今後Rorkがさらに自動化してくれることを期待しつつ、現時点では「80%の工数をRorkが担い、残り20%を自分でケアする」という感覚で向き合うのがちょうどいいと感じています。

収益化アプリに挑戦してみたい個人開発者の方に、少しでも参考になれば嬉しいです。何か質問があればお気軽にどうぞ。


この記事は Rork Lab の個人開発者による実体験に基づいています。RevenueCat・App Storeの仕様は変更される可能性があるため、最新の公式ドキュメントも合わせてご確認ください。