En Xcode 7, iOS 9 "Se espera que las windows de la aplicación tengan un controller de vista raíz al final de la aplicación"

Recibí un error en mi console y se bloqueó.

“Application windows are expected to have a root view controller at the end of application launch” 

A continuación se muestra mi código, luego de ingresar el retorno, se producirá un fallo de línea SÍ.

  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UIImageView *defaultImage = [[UIImageView alloc] initWithImage:splashImage]; defaultImage.frame = defaultImageFrame; [self.window addSubview:defaultImage]; [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(login:) userInfo:nil repeats:NO]; [self.window setBackgroundColor:[UIColor clearColor]]; [self.window makeKeyAndVisible]; return YES; // here crash will happens } -(void)login:(id)sender { PreLoginViewController *appController = [[PreLoginViewController alloc] initWithNibName:nil bundle:nil]; if (_ChooseLogin.isStatus == 105) { flagRequinetworking = @"1"; appController.serverDownFlag = @"1"; } appController.termsURL = _ChooseLogin.urlString; appController._ChooseLogin = _ChooseLogin; appController.rootNetworkAvailable = NO; appController.verionMsg = versionStr; [dft setBool:NO forKey:@"isNeedActivate"]; appController.isNeedActivate = NO; navigationController = [[UINavigationController alloc] initWithRootViewController:appController]; } 

¿Alguien sabe cómo solucionar este problema? Funciona bien en iOS 8, hasta Xcode 6.3.

setRootViewController llamar a setRootViewController : en su didFinishLaunchingWithOptions : y necesita un controller de vista para hacer esto.

En codigo:

 UIViewController *vc = [[UIViewController alloc] init]; [vc.view addSubview:defaultImage]; [self.window setRootViewController:vc];