NSInternalInconsistencyException

久しぶりに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;
}

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.