審査に出した翌日の朝、画面に出ているのは「審査中」の三文字だけでした。誤字を一つ見つけていたのに、直せません。直して出し直せば、待ち時間がまた最初から数え直しになるからです。
個人でアプリを長く運用しておりますと、この「待つだけの時間」が意外に効いてきます。いま思えば、待たされていたのは審査ではなく、直す手段を一つしか持っていなかった私のほうでした。最初のうちは、ストアに出せば公開は完了だと思い込んでいました。実際には、出してから直すまでの往復の遅さが、そのまま開発の遅さになります。
そこで浮かぶのが、Web 版を先に公開するという道です。最初にお伝えしたいのは、この道が使えるかどうかは、Rork のどちらのプランで作ったかで決まるという点です。
まず、公式が書いている事実を並べます
Rork の FAQ には、プランごとの出力先が書かれています。要点を表にしました。
| プラン | 作られるもの | Web で公開できるか |
|---|---|---|
| Rork Pro | Expo による iOS・Android 兼用のアプリ | できる。Rork 自身は Web アプリをホストしないので、書き出して Vercel や Netlify などへ置く |
| Rork Max | SwiftUI のネイティブ iOS アプリ | できない。iOS 専用で、Web では動かない |
つまり Rork Max で作っているなら、この記事の「Web 先行」は選べません。ストアか、実機での確認か、の二択になります。以下は Rork Pro(Expo)で作っている方に向けた話です。
Web 版を出す手順は、思ったより短いものでした
Expo の公式ドキュメントでは、書き出しは次の1行です。
npx expo export -p web出力先は dist フォルダで、public/ の中身もそこへコピーされます。ここで一つ、つまずきやすい点があります。web.output を設定しないと、既定は single です。これは index.html が1枚の SPA で、ページごとの HTML は作られません。検索から個別のページを見つけてもらいたいなら static が要ります。SDK 58 以降のテンプレートは server を使いますが、これは Expo Router のサーバ描画に対応した置き場所(公式が勧めているのは EAS Hosting)でないと動きません。dist のクライアント側だけを静的ホスティングへ置いても、サーバ描画は働かないのです。
私はこの出力方式の違いを、書き出しが終わってから気づく順番で読みました。先に決めるのは置き場所で、書き出しはそのあとです。 この順番だけは崩さないようにしています。
手元で試すときは npx expo serve を使います。ただし公式にあるとおり、これは HTTP のみです。カメラや位置情報など、安全な接続を求める機能は期待どおりに動かないことがあります。つまり、手元で動かなくても壊れているとは限りません——逆に、手元で動いたから本番でも動く、とも限りません。
迷ったときに見る、3つの条件
Web 先行が向くかどうかは、次の3つで判断しています。
1つめは、アプリの核が Web で成り立つかどうかです。 記録、計算、表示が中心の道具なら成り立ちます。カメラ、ウィジェット、バックグラウンドの処理、端末の通知が核なら、Web では別物になります。公式の記事には Web で使えない API の一覧がないので、使っている機能ごとに Expo のリファレンスで対応を確かめる必要があります。
2つめは、使ってほしい人が、リンクを開いてくれる状況にいるかどうかです。 知人や小さなコミュニティに見せるだけなら、URL を送るほうが速く済みます。ストアで偶然見つけてもらう前提の道具なら、Web 版は予行にしかなりません。
3つめは、ストア側の待ち時間が避けられない種類かどうかです。 たとえば Google Play で個人の開発者アカウントを新しく作った場合は、公式のテスト要件があります。2023年11月13日より後に作った個人アカウントでは、12人以上のテスターが14日間続けて参加している必要があります。この期間は、アプリの出来とは関係なく流れます。
| 状況 | 向いている出し方 |
|---|---|
| Rork Max で作っている | ストア(iOS)。確認は実機やテスターで |
| Rork Pro で、核が表示や記録で、見せたい人が少数 | Web を先に出し、反応を見てからストアへ |
| Rork Pro で、カメラや通知が核 | 最初からストア。Web は説明用ページにとどめる |
| Google Play の個人アカウントが新しい | テスター集めを早めに始め、その間に Web で反応を見る |
失敗しやすいのは、Web 版を「仮」のまま放っておくことです
Web を先に出すと、直したくなる点がすぐ見つかります。それは良いことなのですが、直したものをストア版へ戻す作業を後回しにすると、2つの版がずれていきます。同じアプリを2か所に出せば、直し忘れが片方に残るのは自然なことです。Web が加われば、見るべき場所がもう一つ増えます。とくに文言や価格の表示は、片方だけ古いまま残りやすい箇所です。
私は、Web 版を出す日に「ストアへ出す日」も同じ紙に書くようにしています。仮の公開に期限がないと、仮のまま居座るからです。
次にやることは、1つだけです
いま作っているアプリが Rork Pro か Rork Max のどちらなのか、プロジェクトの設定画面で確かめてください。Rork Max であれば、ここでこの記事は終わりです。Rork Pro であれば、上の3つの条件のうち、いちばん自信を持って答えられないものを一つだけ選び、その答えを調べるところから始めていただければと思います。
料金の側から出し方を考えたい方は、プラン比較の記事で、どの段階でどのプランが要るのかを整理しています。ストアに出す手順そのものは、公開ガイドにまとめました。