久しぶりにiOS6以前のアプリをビルドしたら NSInternalInconsistencyException が 発生。
*** Terminating app due to uncaught exception ‘NSInternalInconsistencyException’, reason: ‘Application windows are expected to have a root view controller at the end of application launch’
windowのrootViewController をセットする必要があるとのこと。
問題が起きるコード
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[_window addSubview:[navController view]];
[self.window makeKeyAndVisible];
return YES;
}
修正版コード
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
// Override point for customization after application launch.
self.window.rootViewController = self.navController;
[self.window makeKeyAndVisible];
return YES;
}