Rork や Rork Max で作業している時、ある瞬間から進捗が止まることがあります。生成中の画面が固まる、ネイティブビルドだけ何度やっても通らない、プロジェクト自体は開けるのに次のステップに進めない——。個人で開発していると、この手の「詰まり」で1日が溶ける経験を何度かしました。
ここでは私が実際に Rork / Rork Max でアプリを公開する過程で積み上げてきた詰まりパターンを、原因の切り分けフローとして整理してお伝えします。症状ごとに見るべきポイントが違うので、まず「自分のケースがどのタイプか」を見極めるところから始めます。
詰まりの4タイプ
Rork / Rork Max で発生する詰まりは、対処がまったく違う4タイプに分類できます。
タイプ1: 生成プロセス自体が止まっている
プロンプトを投げた後、進捗表示は出ているのに、時間が経っても新しいファイルが増えない・既存ファイルが更新されない、という症状です。画面上は「生成中...」のまま何分も止まっているように見えます。
タイプ2: ネイティブビルドだけ失敗する
プレビュー(Web・Expo)では動くのに、iOS / Android のネイティブビルドだけが落ちるケース。Rork Maxの SwiftUI ネイティブ生成や、Expo経由のiOSビルドで多く遭遇します。
タイプ3: プロジェクト依存関係の破綻
node_modules や Expo 設定ファイルが壊れて、もう生成もビルドも動かなくなる状態。症状としては、エラーメッセージに Cannot find module や Invalid configuration が混ざります。
タイプ4: プロンプト迷子
コードは正しく生成されているのに、アプリの挙動が依頼と違う方向に進化し続けるケース。技術的な詰まりではないのですが、時間を溶かす点では同じなので含めます。
自分の症状がどれかを10秒で判定するための早見表をまとめておきます。
- 生成中なのに進まない → タイプ1
- プレビューは動く、ネイティブだけ落ちる → タイプ2
- エラーに
Cannot find module/Invalid configがある → タイプ3 - ビルドは通るが挙動が依頼と違う方向に進む → タイプ4
タイプ1: 生成が止まっているように見える時
まず確認すべきは、本当に止まっているのか、単に時間がかかっているだけなのか、です。Rorkの生成は内部でファイルの依存関係を解決しながら進むため、見た目は止まっていても裏では動いているケースがあります。
目安: プロンプト送信から15分以上、ファイルエクスプローラーに一切変化がなく、進捗ログも流れていないなら「本当に止まっている」可能性が高いです。5〜10分程度の「静かな時間」は正常範囲です。
止まっていると判断したら、対処は3段階です。
段階1: いったん画面をリロードします。単純ですが、フロントエンド側の表示が固まっているだけで、バックエンドは完了している、というケースがあります。
段階2: 同じプロンプトを少し分解して投げ直します。「ログイン画面、プロフィール画面、設定画面を作って」のような複合依頼は、Rorkが内部で大きな計画を立てようとして止まる時があります。「まずログイン画面だけ作ってください」と分けるだけで通ることが多いです。
段階3: それでもダメなら、プロンプトの言い回し自体を変えます。技術仕様(使うライブラリ、画面構成)を明示的に書くと、生成の自由度が下がって安定します。
止まりやすいプロンプトの例
私の観察では、次のようなプロンプトが止まりやすいです。
- 「いい感じに作って」「かっこよく」など評価軸が曖昧な依頼
- 1回で10画面以上を生成する依頼
- 既存コードを大規模に書き換える依頼(新規作成のほうが明確に安定)
逆に、止まりにくいのは「1画面ずつ」「既存画面に1機能ずつ追加」のような小刻みなプロンプトです。
タイプ2: ネイティブビルドだけ失敗する時
これはRork Max で SwiftUI ネイティブ生成を使い始めた方に多い症状です。プレビューでは動くのに、iOS ビルドを走らせると、なぜか毎回同じエラーで止まる。
原因は大きく3つです。
原因2-A: 証明書・プロビジョニングプロファイルの問題
iOS ビルドで最初にぶつかる壁です。Apple Developer Programへの登録、証明書の発行、プロビジョニングプロファイルの設定、どこか1つでも不整合があると、ビルド全体が落ちます。
対処は、Rork Max App Store 公開ガイドの手順を1つずつ確認しながら進めることです。省略せず、チェックリストとして使ってください。
原因2-B: ネイティブモジュールの依存エラー
Rorkが自動で組み込むネイティブモジュール(カメラ、通知、StoreKit等)が、バージョン不整合で失敗するケースです。エラーメッセージに Linker command failed や Undefined symbols が出ていたら、この系統です。
対処法は、package.json とRorkのネイティブ設定を一旦リセットして再生成することです。ネイティブ層は人間が直すと沼が深いので、Rork自身に「ネイティブ依存を整理し直してください」と頼むほうが早いことが多いです。
原因2-C: iOS バージョン / Xcode バージョンの不整合
最新のSwiftUI機能を使うアプリが、古めのiOSターゲットで落ちるケースです。Info.plist の MinimumOSVersion を確認し、使っている機能に必要なiOSバージョンと合わせてください。
タイプ3: 依存関係が破綻した時
このタイプに入ると、Rorkのチャット内で小手先の修正を試みても泥沼化しがちです。思い切って「クリーン再構築」に舵を切ります。
クリーン再構築の手順
- 現状のプロジェクトをexport(できるならZIPで保存)してバックアップ
- 新規プロジェクトを作成
- バックアップから**MDX やコード本体(ビジネスロジック)**のみコピー
- 依存関係(
package.json,app.json)は新規プロジェクトのものを使い、Rorkに「この機能を実現してください」とプロンプト
この方法は元プロジェクトへの愛着と矛盾しますが、数時間を溶かすぐらいなら1時間で再構築したほうが、結果的に時短になります。私は3回に1回くらいこのルートを使います。
タイプ4: プロンプト迷子の時
技術的には動くが、依頼した方向と違うものが出来上がっていく——これが実は一番時間を溶かすパターンです。
「仕様書を先に書く」習慣
私がこの問題に直面してから習慣にしているのが、Rorkに触る前に仕様書を自分で書くことです。
## アプリ仕様
### 画面構成
- ホーム: 本日のタスク一覧(最大10件)、新規作成ボタン
- 新規作成: タイトル入力、期日選択、保存ボタン
- 詳細: タイトル表示、完了ボタン、削除ボタン
### データモデル
- Task: id (UUID), title (string), dueDate (date), completedAt (date?)
### 非機能要件
- オフラインで動作(ローカルDB)
- 起動3秒以内
- iOS 17以上
これをそのままRorkにコピペすると、後からの軌道修正が激減します。「思いつきベースで話しかける」と「仕様書ベースで依頼する」では、出力の安定度が別物です。
最後に:復旧チェックリスト
詰まった時に上から順にチェックすると、だいたい1時間以内に復旧します。
- 本当に止まっているか(15分待ってみる)
- ブラウザリロード
- プロンプトを小さく分解して再投入
- Rork Companion で接続状態確認(接続系のトラブルなら Rork Companion 接続トラブルシューティング)
- ネイティブビルド失敗なら証明書系の確認
- 依存関係破綻ならクリーン再構築ルート
- 挙動がずれているなら仕様書の書き直しから
ぜひ手元に置いて、詰まった時にこのチェックリストを眺めてみてください。
より本格的に、Rork Max で SwiftUI ネイティブアプリを設計段階から App Store 公開まで安定して届ける実践ガイドは、Rork Max SwiftUI ネイティブアプリを App Store まで届ける実践ガイド にまとめていますので、そちらもあわせて参考にしていただけたらうれしいです。