苹果推送通知 – iOS 10静音推送通知不触发背景应用程序
2019年12月28日
作者:佚名
我有一个应用程序,我正在尝试接收和处理SILENT推送通知.
我正在注册APNs如下:
UNUserNotificationCenter.currentNotificationCenter().delegate = self UNUserNotificationCenter.currentNotificationCenter().requestAuthorizationWithOptions([.Badge,.Sound,.Alert]) {(granted,error) in if granted { application.registerForRemoteNotifications() } }
实现:
func userNotificationCenter(center: UNUserNotificationCenter,didReceiveNotificationResponse response: UNNotificationResponse,withCompletionHandler completionHandler: () -> Void) { // Handle notification } func userNotificationCenter(center: UNUserNotificationCenter,willPresentNotification notification: UNNotification,withCompletionHandler completionHandler: (UNNotificationPresentationOptions) -> Void) { // Handle notification }
该应用程序具有UIBackgroundModes提取和远程通知
APN内容如下所示:
{ "aps":{ "content-available":1,"badge":0 },"action":"shareDelete","shareId":633 }
当应用程序处于前台时,当收到通知时,userNotificationCenter(center:withCompletionHandler:willPresentNotification)将被触发,但是当应用程序背景时,没有任何反应.
我可以看到通过更改徽章号码收到APN,但在应用程序中没有触发任何内容.
我失踪了什么
(也在Apple开发论坛上询问)
解决方法
方法
func userNotificationCenter(center: UNUserNotificationCenter,withCompletionHandler completionHandler: () -> Void) { // Handle notification }
当用户点击通知或在Apple Watch上查看时呼叫:
Called to let your app know which action was selected by the user for a given notification.
你需要实现旧的方法
func application(_ application: UIApplication,didReceiveRemoteNotification userInfo: [AnyHashable : Any],fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { }
以上是来客网为你收集整理的苹果推送通知 – iOS 10静音推送通知不触发背景应用程序全部内容,希望文章能够帮你解决苹果推送通知 – iOS 10静音推送通知不触发背景应用程序所遇到的程序开发问题。
如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。