我在这里搜索了所有问题,但没有解决方案。
我使用 userInfo 选项安排了 localNotifications。当应用程序处于前台时,通知到达并且可以完美地处理系统自己调用的这个函数。
对于本地通知
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 }
但问题是,当应用程序关闭时,这个函数没有被调用,我无法处理我需要的数据。
我试过在 appDelegate 的那个函数中获取 userInfo:
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
}
但是..没有工作...
有人可以帮助我吗?
提前致谢。