У меня есть TabBarController в качестве точки входа приложения. После получения Локальное уведомление, я хочу отобразить конкретный UIViewController.Как получить делегат приложения для отображения определенного UIViewController после PushNotification
В зависимости от фактического состояния приложения (самый передний/не передний, не работает), я могу поймать push-уведомление, например. application:willFinishLaunchingWithOptions:
или application:didReceiveLocalNotification:
в appdelegate.
Однако я не в состоянии управлять открыть конкретную UIViewController в этой точке (что, кстати, не один из tabbarcontroller.selectedIndexes
).
Я пробовал различные вещи, например. presentViewController
:
Today*today = [[Today alloc] init];
[[[[[UIApplication sharedApplication] delegate] window] rootViewController] presentViewController:today animated:NO completion:nil];
оставив Ошибка:
Warning: Attempt to present <Today: 0x7fcb91ed5a40> on <UITabBarController: 0x7fcb91c79810> whose view is not in the window hierarchy!
Сообщения здесь указывают использовать [self.window makeKeyAndVisible];
перед вызовом presentViewController
: та же ошибка!
Дальнейшие сообщения [thisOne] показывают, что эта ошибка может быть опущена, поставив presentViewController
в viewDidAppear:
однако, это не представляется возможным в AppDelegate, где я поймать местное уведомление ...
Даже вызов SEGUE не представляется возможным, так как мне кажется, что View Controller не загружена в данный момент уже ...
Некоторые люди, указывающие, что вызов UIViewController из AppDelegate не представляется возможным в аль Это верно?
У меня нет идей, есть ли у вас какие-либо меры ...?!?
Проверьте этот ответ: * HTTP : //stackoverflow.com/a/29773513/4173671* Надеюсь, это поможет. –