Cats and Dogs

現像ノートSeason 1STIL.第 5 話 / 全 7 話

現像ノート

3 回落ちて、4 回目で通った ── App Store 審査の記録

STIL. は、App Store の審査に 3 回落ちました。権限、課金、そして最後はアプリそのものの堅牢性。落ちるたびに少ししょげて、原因を直して、また出す。4 回目でようやく通るまでの、いちばん泥くさい記録です ── 連載「現像ノート」、5 枚目。

3 回落ちて、4 回目で通った ── App Store 審査の記録

きれいな話ばかりでは嘘になるので、いちばん泥くさい話も書いておきます。STIL. は、App Store の審査に 3 回落ちました。4 回目で、ようやく公開できました。

個人開発でアプリを出すとき、最後に立ちはだかるのが審査です。コードが動くことと、ストアに並ぶことのあいだには、思っていたより距離がありました。

1 回目 ── 権限とアカウント

最初の指摘は、権限まわりと、アカウントの扱いについてでした。「なぜこの権限が要るのか」「アカウントを消す手段はあるか」。ここは説明と実装を足して対応しました。今思えば、入り口の作法の話です。

このときの宿題が、のちに「そもそもアカウントを持たない」という決断につながっていきます(その話は別の回で書きました)。

2 回目 ── 課金まわりの不備

2 回目は、課金まわりでした。アプリ内課金が審査に正しく結びついていないこと、そして利用規約(EULA)へのリンクが足りていないこと。

Paywall(課金画面)に規約リンクを正しく置き、課金商品を紐づけ、サブスクリプションを管理する導線を足す。有料アプリとして成立するための、事務的だけれど落とせない作法が、まだ足りていませんでした。一つずつ埋めて、また提出しました。

審査で何度も鍛え直した Paywall(課金画面)

3 回目 ── いちばん効いた指摘

3 回目が、いちばん効きました。指摘はこうです。「課金画面で価格が表示されないことがある」「アップグレードのボタンを押しても反応しないことがある」。

調べて、青ざめました。これはルールの問題ではなく、私のコードの弱さでした。課金商品の情報を取りに行く処理が、何らかの理由で失敗したとき、画面が黙って固まってしまう。うまくいくときは動く。でも、通信が不安定なときや、情報が取れないとき、ユーザーには「壊れたアプリ」に見える。審査は、その「うまくいかないとき」を、きちんと突いてきました。

直したのは、機能ではなく堅牢性です。読み込み中だとわかる表示を出す。失敗したらエラーを知らせて、もう一度試せるようにする。「うまくいかなかったとき、どう振る舞うか」を、ちゃんと作る。これがすっぽり抜けていました。

4 回目 ── 承認

その堅牢性を足したビルドで、4 回目を提出しました。今度は通りました。落ちはじめてから、ここまで一週間ほど。短いようで、一回ごとに半日へこんでいたので、体感はもっと長かったです。

落ちることが、教えてくれたこと

振り返ると、審査は「敵」ではありませんでした。むしろ、自分では気づけなかった穴を、毎回正確に指してくれる相手でした。とくに 3 回目の「うまくいかないときの振る舞い」は、自分一人だと、たぶん見落としたまま世に出していたと思います。

個人開発は、褒めてくれる人も、止めてくれる人も、基本的にいません。だからこそ、審査という外の目で「ここが甘い」と言われることには、意味がありました。3 回落ちたのは、回り道ではなく、そのぶん丈夫になったということだったのだと思います。

次回は、その「一人で全部やる」という話そのものを。なぜひとりで作っているのか、どうやって回しているのか。

STIL. のことは stil.photo、本体は App Store に置いてあります。

App Store で STIL. を入手