Я искал здесь все вопросы, но ни одно решение не помогло.
Я запланировал локальные уведомления с параметром userInfo. Когда приложение находится на переднем плане, пришло уведомление, и он отлично справляется с этой функцией, которую система вызывает сама.
Для локальных уведомлений
func application(_ application: UIApplication, didReceive notification: UILocalNotification) { if application.applicationState == .active { return } //My implementation }
Для удаленных уведомлений
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) { if application.applicationState == .active { return } //My implementation }
Но проблема в том, что когда приложение закрыто, эти функции не вызываются, и я не могу обработать нужные мне данные.
Я попытался получить userInfo в этой функции в appDelegate:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
if let localUserInfo = launchOptions?[UIApplicationLaunchOptionsKey.localNotification] as? [AnyHashable: Any] {
// My implementation
} else if let remoteUserInfo = launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification] as? [AnyHashable: Any] {
// My implementation
}
return true
}
Но.. не получилось...
Кто-нибудь может мне помочь?
Заранее спасибо.