У меня много проблем с обработкой входящих локальных уведомлений. Мое приложение использует раскадровки и имеет tabbarcontroller в качестве rootviewcontroller. В настоящее время я запускаю модальные представления из didReceiveLocalNotification следующим образом:
MedicationReminderViewController *vc = [[MedicationReminderViewController alloc] initWithNibName:@"MedicationReminderViewController" bundle:nil];
vc.notificationInfo = [[NSDictionary alloc] initWithDictionary:notification.userInfo];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:vc];
navController.navigationBar.barStyle = UIBarStyleBlackOpaque;
navController.title = @"title";
UITabBarController *tc = (UITabBarController *)self.window.rootViewController;
UINavigationController *nc = (UINavigationController *)tc.selectedViewController;
[[nc visibleViewController] presentModalViewController:navController animated:YES];
Это работает, но не во всех случаях. Я хотел бы представить модальное представление в новом окне поверх всего, что могло быть отображено в то время. Когда пользователь обрабатывает входящее уведомление, модальное представление закрывается, а базовое представление, которое было активным до поступления уведомления, снова становится видимым. Как я могу этого добиться?