Rork でアプリを開発していると、「Companion アプリで接続できない」「プレビューが真っ白になる」「QR コードを読み込んでも何も起きない」といった問題に直面することがあります。こうしたトラブルは多くの場合、原因が決まっており、正しい手順で確認すれば比較的短時間で解決できます。
Rork Companion でよく起きる問題をパターン別に整理し、一つひとつ確認すべき項目と対処法を順を追って整理していきます。
Rork Companion の役割をあらためて確認する
Rork Companion は、Rork(および Rork Max)で作成したアプリを iOS / Android 実機でリアルタイムにプレビューするためのアプリです。開発中の変更が即座に反映されるため、エミュレーターでは気づきにくい実機固有の挙動を素早く確認できます。
接続は基本的に QR コードをスキャンする方式で行われます。Rork のプロジェクト画面に表示される QR コードを Companion アプリで読み取ることで、同一 Wi-Fi ネットワーク経由でリアルタイム接続が確立します。
仕組みがシンプルな分、「Wi-Fi」「バージョン」「プロジェクトの状態」という 3 つの要素のどれかがずれると接続に失敗しやすくなります。
ケース 1:Companion アプリが接続できない
まず確認すべきは ネットワーク環境 です。
- 開発端末(PC/Mac)とスマートフォンが同一の Wi-Fi に接続されているか確認する。モバイルデータ通信(4G/5G)では接続できません。公共の Wi-Fi(カフェ・図書館など)は端末間通信をブロックしていることが多いため、自宅またはテザリングを推奨します。
- ルーターの「クライアント間通信」設定を確認する。一部のルーターはセキュリティ上の理由から同一ネットワーク内の端末間通信を遮断しています。AP 分離(AP Isolation)の設定を無効にすることで解決するケースがあります。
次に アプリのバージョン を確認します。
- Rork の Web アプリと Companion アプリのバージョンが大きくかけ離れている場合、QR コードの形式が一致せず接続に失敗することがあります。App Store / Google Play から Companion アプリを最新版にアップデートしてください。
それでも接続できない場合は、以下の手順で再試行します。
1. Rork のプロジェクト画面を一度リロードする(Cmd+R または F5)
2. Companion アプリを完全に終了する(バックグラウンドから削除)
3. Companion アプリを再起動する
4. QR コードを再度スキャンする
ケース 2:プレビューが真っ白になる・ローディングで止まる
QR コードのスキャンは成功したのにプレビューが表示されない場合は、プロジェクト側のエラー が原因であることがほとんどです。
まず Rork の編集画面でエラー表示がないか確認 します。画面右下やコンソール欄に赤いエラーメッセージが出ていれば、そのコードの問題が原因です。エラーを修正してから再度プレビューを試みてください。
次に コンポーネントの構文エラー を確認します。よくあるパターンは次のとおりです。
// ❌ よくあるミス:JSX の return が空になっている
export default function MyScreen() {
return (
// ここが空だとプレビューが真っ白になる
);
}
// ✅ 最低限のコンテンツを返す
export default function MyScreen() {
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Text>Hello, Rork\!</Text>
</View>
);
}画像や外部リソースの読み込みエラー が原因のこともあります。ネットワークに依存するリソースがある場合、Wi-Fi 環境によっては取得に失敗することがあります。いったん画像などのリソースを除いたシンプルな状態で試して、問題が解消されるか確認してみましょう。
また、プロジェクトのキャッシュ が古くなっている可能性もあります。Rork の画面でプロジェクトを「再生成(Regenerate)」またはリロードし、Companion 側も再接続してみてください。
ケース 3:Companion アプリがクラッシュする
アプリ自体がクラッシュする場合の主な原因は次の 3 つです。
1. デバイスのメモリ不足
他のアプリを多数起動したままにすると、Companion の動作に必要なメモリが不足しクラッシュします。不要なアプリをバックグラウンドから終了し、Companion を再起動してください。
2. Companion アプリのバージョンが古い
古いバージョンには既知のクラッシュバグが含まれている場合があります。前述のようにアプリを最新版にアップデートしてください。
3. プロジェクト内の無限ループや重い処理
useEffect の依存配列が不適切だったり、State の更新が連鎖して無限ループが発生していたりすると、Companion がクラッシュすることがあります。Rork の AI に「このコードにパフォーマンス上の問題がないか確認して」と依頼することで、問題箇所を特定してもらえます。
// ❌ 無限ループの例:依存配列に変化し続ける値を入れている
useEffect(() => {
fetchData(); // fetchData を呼ぶたびに state が更新され再実行される
}, [data]); // data が変わるたびに再実行される
// ✅ 初回のみ実行する場合は空配列を指定
useEffect(() => {
fetchData();
}, []); // マウント時のみ実行Rork Max(ネイティブ iOS アプリ)でのプレビュー注意点
Rork Max で生成したネイティブ Swift/SwiftUI アプリは、Companion アプリではプレビューできません。Rork Max のプロジェクトは Cloud Compile → TestFlight または 実機直接インストール によって確認します。
Rork Max で「Companion で確認できない」という疑問を持つ方は多いのですが、これは仕様によるものです。Rork Max のプレビューは専用の Cloud Compile 機能を利用します。
詳しくは Rork Companion で iOS 実機テストを行う完全ガイド を参照してください。
接続できないときの確認チェックリスト
問題が解決しない場合は、以下の項目を順番に確認してください。
- Wi-Fi: PC とスマートフォンが同じネットワークに接続されているか
- AP 分離: ルーターの端末間通信が許可されているか
- バージョン: Companion アプリが最新版か
- プロジェクトエラー: Rork 編集画面にエラー表示がないか
- キャッシュ: プロジェクトをリロード・再生成しているか
- メモリ: 不要なアプリを終了してから再起動しているか
- コード: 無限ループや空の return がないか
これらを順に確認することで、多くのケースは解決できます。解決できない場合は、Rork の公式コミュニティや Discord で同様の事例を検索してみましょう。他のユーザーが同じ問題を経験している可能性が高く、既に解決策が共有されていることがあります。
アプリ開発全体のトラブルシューティングについては Rork でアプリが生成されないときのトラブルシューティング FAQ もあわせてご覧ください。
全体を振り返って
Rork Companion のトラブルは、「Wi-Fi 環境」「アプリのバージョン」「プロジェクトのコードエラー」の 3 つが主な原因です。まずこの 3 点を確認する習慣をつけると、多くの問題をすばやく解決できます。
Companion を活用した実機テストのより詳しい手順については、Rork Companion で iOS 実機テストを行う完全ガイド をご参照ください。