应用程序远程通知在应用程序为前台或后台状态时运行良好,但在手动终止应用程序时不起作用,
在plist中添加了背景提取。
试过:
NSLog("Do something")
这种方法仍然无法在swift中接收:
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void)
和
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
答案 0 :(得分:0)
当您手动终止应用时,在再次启动应用之前无法处理remoteNotifications。
当存在远程通知,并且您通过点击该通知打开该应用时,应用会以通常的方式启动
didFinishLaunchingWithOptions
在app委托中调用方法。但在这种情况下,您的通知数据会在'选项'中传递。参数。然后,您可以检查此参数并执行所需的任务
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
{
if (launchOptions != nil)
{
let dictionary:NSDictionary = launchOptions?[UIApplicationLaunchOptionsRemoteNotificationKey] as! NSDictionary
self.setNotification(dictionary)
}
return true
}
答案 1 :(得分:0)
当应用未运行时,您无法处理推送通知。您只能在用户打开应用程序表单通知时进行处理。 有关于此的好文章:How to handle remote notification with background mode enabled