Страницы

Поиск по вопросам

вторник, 17 марта 2020 г.

Apple push notification - как правильно отобразить нужный контроллер?

#objective_c #ios #apple #ios7


Доброе время суток! В общем столкнулся с проблемой, приходит уведомление, скажем
"Вам пришло новое сообщение", мне необходимо открыть чат с этим пользователем, но что
бы попасть в чат, нужно прочти 3 экрана от стартового, либо же пользователь не выходит
с приложения, а заблокировал телефон на контроллере чата, подскажите пожалуйста, каким
образом нужно/можно/будет правильно открывать нужный контроллер? Если к нему нужно
добиратся через 3-9 земель? или не наоборот?
Заранее спасибо за помощь!     


Ответы

Ответ 1



Думаю здесь больше зависит от архитектуры приложения. Вот у меня, например, несколько NavigationControllers и у каждого есть переход в чат. Дак контрол чата принимает на вход модель собеседников и таким образом я могу его вызвать в любом месте через пуш, сформулировав перед этим все модели данных для чат контрола. - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { UINavigationController *navController = (UINavigationController *)self.window.rootViewController; NotificationViewController *notificationViewController = [[NotificationViewController alloc] init]; [navController.visibleViewController.navigationController pushViewController:notificationViewController]; } Но в этом примере я пушаюсь сразу же в чат без промежуточных экранов. Если же задача стоит именно пропушиться туда где чат пройдя по промежуточным экраном, то тут нужно придумать какой-нибудь алгоритм переходов с неким path пушей экранов с анимацией, с блоком завершения анимации и пушингом следующего контрола в path . В общем много вариантов, на самом деле, все зависит от ТЗ.

Комментариев нет:

Отправить комментарий