У меня возникают проблемы, когда пользователь нажимает на уведомление пользователя на iOS 10.
До сих пор я использовал -[UIApplicationDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:], который вызывается, когда
-
Case 1: приложение активно и нажимается -
Case 2: когда пользователь запустил приложение после записи полученного уведомления
Этот метод явно указывает
Обратите внимание, что это поведение отличается от приложения: didReceiveRemoteNotification:, которое не вызывается в этих случаях и которое не будет вызываться, если этот метод реализован.
Вся эта работа, как и ожидалось.
Теперь iOS 10 отказался от этого метода делегата и представил структуру UserNotification, которую я не могу использовать, поскольку я все еще нацелен на iOS 8 и 9.
Когда мое приложение запущено на iOS 10, и нажатие на него будет получено, пока приложение активно (Case 1), -[AppDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:] вызывается правильно.
Снова на iOS 10, когда пользователь запускает приложение, нажав на уведомление (Case 2), этот метод не называется.
Я понимаю, что когда я реализую более старый -[UIApplicationDelegate application:didReceiveRemoteNotification:], он получает вызов в Case 2
В iOS 8 и 9 в Case 2 вызывается метод -[AppDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:].
Означает ли это, что мне нужно обновить мое приложение и реализовать старый делегат только для iOS 10?
Итак, вопрос в том, какова правильная реализация обработки пользовательского взаимодействия полученного push на iOS 10 без использования структуры UserNotification.
веселит, Ян