Landscapeでの起動画面の設定

横モードのみでiPhoneアプリを作るときにどうしてもiPhone5/6での起動画面が設定できなかったので調べてみた。
iPhone(iPhone6+以外)ではアプリが横でも起動画面は縦で用意する。
だけど、Asset Catalog(Images.xcassets)を使って起動画面を用意するとなぜか起動しても真っ黒。
どうしたらいいかと思って、xcassetsを使わずに以前のような命名規則に乗っ取った方法で設定したらうまくいった。

150410_default_setting

XCode6.3でまっさらなプロジェクトを作って試してもやはり真っ黒になるので、これはバグですよね…??
なので、横のみのアプリの際には起動画面はAsset Catalogを使わずに命名規則に沿った起動画面の画像を入れるのがよさそう。

AppDelegateから現在アクティブなUIViewController

Storyboardを使っていて、現在のアクティブなUIViewControllerを調べる方法。

[self.window.rootViewController presentedViewController];

NSLocalNotificationなどから起動した際の処理を分けたりする場合に便利。

参考)てっくろぐ | Storyboardを使っているときにAppDelegateからアクティブなUIViewControllerを取得する

ちなみに
AppDelegateを取得する方法は

AppDelegate *delegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];

参考)CreativeStyle | AppDelegateの参照をカンタンに取得する方法