imjhの○っき

なんかいろいろ思いついたことを書き散らしているだけ

AppStoreのリジェクト理由はよくわからんけど、リジェクトされるには相応の理由がある

 AppStoreにアプリの審査を提出したところ、

The review of your app is taking longer than expected. Once we have completed our review, we will notify you via Resolution Center.

 というメッセージでリジェクトされてしまいました。

 額面通り受け取ると、このままAppStoreから連絡があるまで待つしかありません。しかし、そもそも時間がかかるからといって、わざわざリジェクトしなくても、「審査中」状態のまま審査を続ければいいわけだし、今回のリジェクトの意図はいったいなんなの?こういう時はGoogle集合知に頼りましょうということで早速ググってみると、同じメッセージでリジェクトされて「今後どうしたらよいのでしょうか?」と悩む人がけっこういましたが、明確な回答は特に無く、わたしも「今後どうしたらよいのでしょうか?」とウダウダ悩んでいました。

 一晩経って、悩んでいてもしょうがないし、もう一度アプリの確認をしてみようと思い立ち、TestFlightからインストールしたアプリの動作確認をしていると、アプリ終了時にクラッシュすることが判明。あれえ?なんでえ?

 終了処理は全くいじっていないのですが、今回のバージョンでは終了時に端末の回転を検出する処理が動いており、その際通常では発生しないnilが発生して、そこでクラッシュしていたのでした。

 こんなしょうもない不具合を見過ごしていたとは、痛恨の極み。このままでは審査が通るわけもない。早速、修正・動作確認をして再提出したところ、すんなり「審査中」に移行、その後10分も経たずに「配信準備完了」になりました。

 

 というわけで、リジェクト内容の「思ったより時間がかかりそうだから、終わったら連絡するからね」というのは本当の理由ではなかったのではないかと思います。想像だけど、審査担当者はリジェクト時にテンプレート文書を選んで送る為、本来は「クラッシュするからダメ」とするところを、単に間違えただけなのかもしれません。

 いずれにせよ、リリース前には横着せずにきちんと動作確認をするべきだと反省したのでした。まあ、あたりまえですよねえ。