iOSの審査で落ちた理由と解決方法

iOSの新規アプリのリリースを何本かしてきましたが、リリース審査で何度か落ちました。どんなことで落ちたのか、どう修正したら審査が通ったのかの体験談を記載しておきます。
今後同じように苦労する人がでないように・・・。

# 目次 (落ちた理由)
1. アプリ紹介画像の不備
2. 審査する人への説明不足
3. アクセス許可時の説明不足

# 1. アプリ紹介画像の不備
アプリリリース時には、AppStoreに表示されるアプリ紹介画像を登録する必要があります。
その画像が適切でないと審査に落ちちゃいます。

## iPad用の対応
iPhoneとiPad両対応のアプリがあったのですが、iPadの利用者数がそれほどいないということで、iPhoneとほぼ同じ画像を使ってしまいました。iPhoneのフレームの中にiPhoneの実機キャプチャ画像を差し込んで、その周辺に説明文字を入れていました。
iPhoneとiPadの紹介画像に設定できる画サイズが決まっているので、iPad用に少し全体の余白を調整しただけで、画像はiPhoneのフレームを使ったところ、「iPad用の紹介画像にiPhoneが使われている！」とのことで却下されてしまいました。
iPadのフレームにして、iPadで表示される実機キャプチャ画像を取り込んだところ無事、審査ＯＫとなりました。

確かに、他のアプリのiPad用紹介画像を見ると、どれもiPad用に調整されておりました。iPad用にも作るとこんなところにも作業工数がかかってしまうので、対応機種を考えるときはよく考えましょう。

## 画面数が不十分
特定施設で使うアプリで、ログインしたあとに、QRコードを読み取るだけ、というアプリをリリースした時のことです。IDを持っている人しか使えないので、全体説明文章の1枚と、ログイン画面の1枚だけで審査に持っていきました。(特定ユーザのみのアプリなので、説明画像は重要ではなかったのです)
これまでの経験から、色々と審査で落ちることがあったので、最終バージョン前のいくつかバグがある状態で挑んだのですが、その時はすんなり審査ＯＫだったのですが、バグ修正をしたあとに正式リリースをしようと再度審査に持っていくと何故かＮＧ。
理由は「ログイン画面だけで、どんなことができるアプリか分からないから！」とのことでした。
初回は通ったのに・・・。おそらく見る人によってばらつきがあるのでしょう・・・。

とのことで、QRコードを読み取る画面も付けたところ、審査に通りました。（ただ、この後やっかいなことが・・・。それは後ほど。）
ログイン画面だけだとダメですよってことは、ガイドラインにも書いてあるのですけど、何故１度目はパスしたのかは謎のままです。

# 2. 審査する人への説明不足
審査してくれる人に対して、あらかじめ機能の説明などをしておけるスペースがあるのですが、使い方が分かりにくいアプリなどの場合は、きっちりと記載しておく必要があるようです。

## IDとパスワードの連絡
会員制アプリの場合は、IDとパスワードがないとそのアプリの中に入って確認することができません。なので、審査してくれる人用にIDとパスワードを用意して連絡する必要があります。
なので、審査する人が変なことをしたら困るので、審査用のIDとパスワードを発行して連絡しました。
しかし、「必要なデータがないから、どんな機能かわからない！」とのことで審査ＮＧになってしまいました。

確かに、新規にIDを発行しただけでデータを揃えていなかったので、いろんな機能をためしても「データがありません」と表示されてしまって、よく分からないかもしれなかったです。
適当に操作できるレベルのデータを揃えて、再申請したらＯＫもらえました。

アプリを開発するときは、IDとパスワードとテストデータを審査する人に用意する必要があることを考えておく必要ありです。実際のユーザとかぶらないようにしないといけなかったり、テストデータが本番環境に影響与えないようにしないといけなかったりで、しっかり考えておかないとあとで大変です。気を付けましょう。

## 機能の説明
さきほどのQRコードを読み取るアプリなのですが、始めは詳細説明していなくても審査ＯＫだったのに、アプリアイコンを微調整したので、アプリ説明画像にも少し手を加えて再度申請を出したらなんとＮＧをくらいました。
理由が「このアプリが何をするアプリか分からない！」とのことです。ちょっと前は説明なくても通ったのに・・・。

ということで、説明画像をQRコードを読み取っていることが分かるような画像に代えたのですが、それでも「やっぱりよく分からない！」とのことで再度ＮＧ。
再審査するのではなくＮＧ理由のコメントに対して、英語で説明することにしました。
・QRコードにはIDの8桁と名前が入っている。
・QRコードをかざすと、入管したことがサーバに飛んで、別アプリで確認できる。
・そもそもこのアプリは、○○な場所で○○な人が○○な目的で使うものです。
みたいなことをコメントしたら、認識できるQRコードのサンプルをくれ、と言われました。

ということで、QRコードのサンプルを添付してコメントしたら、審査ＯＫとなりました。

やっぱり審査する人によって、ＯＫだったりＮＧになったりすることがあるのですね。。。

以降のバージョンアップの際には、それらの説明とQRコードのサンプルを付けて、審査に出すようにしたらいまのところ審査ＯＫになっています。

# 3.アクセス許可時の説明不足
アプリ起動時に出る「カメラを使用しますが許可しますか？」みたいなやつのことです。

## 目的をしっかり書く
実は上に書いた「カメラを使用しますが許可しますか？」だと、審査が通りません。
「目的をしっかり書いて！」との理由で審査ＮＧになりました。

初めてアプリをリリースしたときのこと。swift開発が初めてだったので、swiftの本を読んで勉強したところ、カメラを使うときはplistに「カメラを使用します」などと記載しましょう、って書いてあったからその通りにしたら審査通りませんでした。swiftの本だったので審査のことまでは考えてなかったのですね・・・。（今はその本は改版されてるかもしれませんが）

ということで「動画を撮影するためにカメラを使用します。」みたいな内容だったらＯＫでした。なんか微妙な感じですが、そこそこ具体的な説明が必要になるようです。
英語圏の人が審査しているのかと思ったら、日本語が分かる人も審査してくれているようです。審査ＮＧになるときはその該当部分の画面キャプチャも送られてくるのですが、画面キャプチャだけその言語が読める人に渡して、チェックしてもらってるのだろうな、と想像しています。色んな言語で審査が必要なので。

# まとめ
ということで、アプリリリースに締め切りがあるような場合は、審査ＮＧにならないように気を付けるか、事前に審査が通るかどうか試しに審査だけ通してみるか（審査ＯＫでもリリースしないことも可能）など、考えた方がよいです。

審査ＯＫとなるのは、だいたい日本時間の深夜から早朝が多いです。アメリカの通常業務時間だからだと思われます。ここ最近はだいたい1日以内には審査結果が返ってきてます。日本の夜までに審査出しておけば、翌日には結果が出てるような感じです。

あとは、人によって判断がある程度ばらけるようなので、運もあると思いますし、一度通ったからと言って、２度目も同じように通るとは限らないことは気を付けておいた方がよいです。
基本的にはガイドラインに従って準備しておけば、だいたい通るのでしょうけど。

以上です。みなさんいいアプリをこれからもガシガシ開発しましょう！