最近、iPhone アプリの審査が変わってきた

ここ最近、iPhone アプリの審査が変わってきました。
具体的に変わったと感じた点は、以下の2点。

・In Review になるまでの時間が短くなり、その分審査期間が長くなった
・複数のアプリの申請をした場合、並列の審査から直列の審査になった

1点目ですが、以前は In Review まで 1 週間程かかり、審査はすぐ(数分〜数時間)に終わりました。しかし最近は In Review まで 3 日で、審査が2,3日かかりました。全体としては少し早くなっている気がしますが、もともと時期によってバラつきがあるので誤差の範囲かもしれません。

2点目、今回 3 つのアプリのアップデート申請をほぼ同時にしました。以前なら、3つほぼ同時に In Review、審査終了になりました。ところが、今回は1つずつ In Review、審査終了となりました。ただ、2つ目以降のアプリが In Review、審査終了になるまでの時間は短め(1,2日)で、単純に審査終了までの全体の時間が 3 倍になったわけではありません。

1点目は今のところ特に影響はなさそうですが、2点目は多数のアプリを開発している人にとってはマイナスかもしれません。

Application windows are expected to have a root view controller at the end of application launch storyboard

「心霊写真なう」のデバッグ中、表題の以下の警告でハマりました。

Application windows are expected to have a root view controller at the end of application launch storyboard

ググると、「application:didFinishLaunchingWithOptions: で、window の RootViewController を設定して下さい」というアドバイスばかり出てきます。

しかし、設定しても警告は消えません。そもそも、他のアプリではそんなことしてないし。。何か他の原因では??とググり続けたところ、下記ページを発見しました。

超簡単!iOSでたった数行でかっこいいローディング表示 – SVProgressHUD

これは、「心霊写真なう」で使っている「SVProgressHUD」を解説したページです。注目すべきは、「SVProgressHUDを使う際の注意点」の「viewDidLoad:メソッドでSVProgressHUDしないこと!」。

内容を要約すると「viewDidLoad でSVProgressHUD を使うと表題の警告が出るよ!」となります。


……
思いっきり、viewDidLoad で SVProgressHUD を使ってたorz

ちなみに、このエラーが出る状態では、SLComposeViewController や TWTweetComposeViewController  で、Twitter の投稿画面で文字入力ができなくなってしまいます。なぜか Facebook の投稿画面では文字を入力できますが。。

 

ということで、ライブラリを使うときは思わぬ警告やエラーに出くわすことがあるので、使い方には十分気をつけましょう!