Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:],

I am getting the following error in iOS9 only.

Here is my code:-

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{     
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    if ([[NSUserDefaults standardUserDefaults] objectForKey:@"login_dict"])
    {
         if ([[NSUserDefaults standardUserDefaults]  objectForKey:@"isLogout"] == nil || [[[NSUserDefaults standardUserDefaults] objectForKey:@"isLogout"] integerValue]== 0)
         {
            self.loginDict = [[BaseViewController sharedInstance] removeNullFromDictionary:[[NSUserDefaults standardUserDefaults] objectForKey:@"login_dict"]];
            self.firstViewController = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];
         }
         if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"isLogout"] integerValue]== 1)
         {
            self.firstViewController = [[WelcomeViewController alloc] initWithNibName:@"WelcomeViewController" bundle:nil];
         }
         NSLog(@"Userinfo = %@",self.loginDict);
    }
    else
    {
        self.firstViewController = [[WelcomeViewController alloc] initWithNibName:@"WelcomeViewController" bundle:nil];
    }

    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

     self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
     self.navigationController = [[BufferedNavigationController alloc] initWithRootViewController:self.firstViewController];
     //[window makeKeyAndVisible];

    [self.window setRootViewController:self.navigationController];
}

Note : This code is working fine in Xcode 6.4 and iOS8.

 Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3505.16/UIApplication.m:3294
like image 991
Akash Raghani Avatar asked Sep 22 '15 07:09

Akash Raghani


2 Answers

I had to remove this line from application didFinishLaunchingWithOptions:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

And that fixed it for me.

like image 161
Andrew Smith Avatar answered Nov 08 '22 23:11

Andrew Smith


Using this row solved my issue (iOS 10):

[self.window setRootViewController:self.navigationController];

Was (worked for older iOS and Xcode):

[self.window addSubview:navigationController.view];
like image 4
Idan Avatar answered Nov 08 '22 22:11

Idan