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 の投稿画面では文字を入力できますが。。

 

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

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください