Сбой при обработке удаленного уведомления, когда приложение не запущено

Я получаю удаленное уведомление и в зависимости от типа уведомления меняю контроллеры представления контроллера навигации.

Все работает нормально, когда приложение находится на переднем плане или когда приложение находится в фоновом режиме, но не полностью закрыто (из панели многозадачности).

Но когда приложение закрывается, и получает удаленное уведомление, он вылетает, как только открывается. Я ошибаюсь в настройке ViewControllers?

Вот код.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions {
   // Push required screens into navigation controller

         UILocalNotification *remoteNotif = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];

    //Accept push notification when app is not open
    if (remoteNotif) {      
        [self handleRemoteNotification:application userInfo:remoteNotif.userInfo];
        return YES;
    }

    [window addSubview:navigationController.view];
    [window makeKeyAndVisible];

    return YES;
}

-(void) handleRemoteNotification:(UIApplication *)application userInfo:(NSDictionary *)userInfo {
    application.applicationIconBadgeNumber = 0;

NSMutableArray *viewControllers = [NSMutableArray array];
    [viewControllers addObject:driverWaitViewController];
    [viewControllers addObject:newJobsViewController];

    [navigationController setViewControllers:viewControllers];
}
8
задан Jacob Relkin 28 November 2010 в 03:10
поделиться