У меня есть это локальное уведомление, и когда пользователь нажимает на уведомление, приложение открывается в определенном представлении.Я реализовал userNotificationCenter
для достижения этой цели.Он работает нормально, когда приложение находится в фоновом или переднем режиме.
Но когда приложение не запущено, я нажимаю на уведомление, приложение запускается, и я должен войти в систему, затем он переходит на домашний экран ине на конкретный экран, как я не нажал на уведомление.
Если я запускаю в режиме отладки, я вижу, что он никогда не достигает userNotificationCenter
Это мой код
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
switch response.actionIdentifier {
case UNNotificationDismissActionIdentifier:
print("The notification was dismissed")
case UNNotificationDefaultActionIdentifier:
print("The user open the app from the notification")
if response.notification.request.identifier == "notification_1" {
let storyboard = UIStoryboard(name: "ShowProducts", bundle: nil)
if let conversationVC = storyboard.instantiateViewController(withIdentifier: "ShowProductsModuleIntroViewController") as? ShowProductsModuleIntroViewController {
// set the view controller as root
self.window?.rootViewController = conversationVC
}
}
default:
print("The default case was called")
}
completionHandler()
}
Что происходит?Это потому, что приложение не запущено или логика входа в систему?
Как это исправить?