Как отладить удаленное push-уведомление, когда приложение не запущено и нажмите push-уведомление? ⇐ IOS
Как отладить удаленное push-уведомление, когда приложение не запущено и нажмите push-уведомление?
Когда приложение запущено и получает push-уведомление, вызывается DidReceive.
func userNotificationCenter( _ центр: UNUserNotificationCenter, ответ DidReceive: UNNotificationResponse, withCompletionHandlercompleteHandler: @escaping () -> Void ) Итак, когда вызывается вышеуказанный делегат, я представляю экран, используя полученную полезную нагрузку. Здесь нет никаких проблем.
Когда приложение не запущено и пользователь нажимает на уведомление, должно отображаться тот же экран, что и выше. Это не работает, потому что я не добавил код в DidFinishLaunchingWithOptions.
Итак, я добавил следующий код -
приложение-функция( _ приложение: UIApplication, DidFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Бул { ...... если позволить userInfo = launchOptions?[UIApplication.LaunchOptionsKey.remoteNotification] как? [AnyHashable: Любой] { ...... } вернуть истину } Но это не работает, и я не могу отладить, потому что в режиме отладки мне приходится закрыть приложение в фоновом режиме и нажать на уведомление, но в этом случае отладчик не будет работать. Я попробовал альтернативный метод, т.е. отображение оповещения, но оповещение тоже не работает
let aps = RemoteNotif["aps"] как? [AnyHashable: Любой] let string = "\n Custom: \(String(описание: aps))" let string1 = "\n Custom: \(String(описание: RemoteNotif))" DispatchQueue.main.asyncAfter(deadline: .now() + 5) { [слабое я] в если вар topController = application.windows.first?.rootViewController { в то время как пусть PresentedViewController = topController.presentedViewController { topController = представленныйViewController } let ac = UIAlertController(title: string1, message: string,eferredStyle: .alert) ac.addAction(UIAlertAction(заголовок: «ОК», стиль: .default)) topController.present(ac, анимированный: true) } } Как мне решить эту проблему?
Когда приложение запущено и получает push-уведомление, вызывается DidReceive.
func userNotificationCenter( _ центр: UNUserNotificationCenter, ответ DidReceive: UNNotificationResponse, withCompletionHandlercompleteHandler: @escaping () -> Void ) Итак, когда вызывается вышеуказанный делегат, я представляю экран, используя полученную полезную нагрузку. Здесь нет никаких проблем.
Когда приложение не запущено и пользователь нажимает на уведомление, должно отображаться тот же экран, что и выше. Это не работает, потому что я не добавил код в DidFinishLaunchingWithOptions.
Итак, я добавил следующий код -
приложение-функция( _ приложение: UIApplication, DidFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Бул { ...... если позволить userInfo = launchOptions?[UIApplication.LaunchOptionsKey.remoteNotification] как? [AnyHashable: Любой] { ...... } вернуть истину } Но это не работает, и я не могу отладить, потому что в режиме отладки мне приходится закрыть приложение в фоновом режиме и нажать на уведомление, но в этом случае отладчик не будет работать. Я попробовал альтернативный метод, т.е. отображение оповещения, но оповещение тоже не работает
let aps = RemoteNotif["aps"] как? [AnyHashable: Любой] let string = "\n Custom: \(String(описание: aps))" let string1 = "\n Custom: \(String(описание: RemoteNotif))" DispatchQueue.main.asyncAfter(deadline: .now() + 5) { [слабое я] в если вар topController = application.windows.first?.rootViewController { в то время как пусть PresentedViewController = topController.presentedViewController { topController = представленныйViewController } let ac = UIAlertController(title: string1, message: string,eferredStyle: .alert) ac.addAction(UIAlertAction(заголовок: «ОК», стиль: .default)) topController.present(ac, анимированный: true) } } Как мне решить эту проблему?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение