OGeek|极客世界-中国程序员成长平台

标题: ios - 推送通知应用程序后台 iOS 9 swift [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 18:06
标题: ios - 推送通知应用程序后台 iOS 9 swift

我有一个适用于 iOS 10 和 iOS 9 的应用,我必须管理远程推送通知:

对于 iOS 10,我使用 UNUserNotificationCenter 以这种方式管理它:

 @available(iOS 10.0, *)
    func userNotificationCenter(_ center: UNUserNotificationCenter,  willPresent notification: UNNotification, withCompletionHandler   completionHandler: @escaping (_ options:   UNNotificationPresentationOptions) -> Void) {
        print("Foreground push notification")


    }

    @available(iOS 10.0, *)
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {

       print("Background push notification")

   }

对于 iOS 9,我只能在应用程序处于前台时使用此方法管理到达的推送通知:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {

       print("arrived push notification in foreground for iOS 9")
    }

但是当应用程序在后台时,此方法不会执行,我无法管理新的推送通知。 你能帮帮我吗?



Best Answer-推荐答案


Apple 对这些通知设置了限制...当应用程序处于后台时,不能执行应用程序的任何 block 或功能...例如,任何第三方警报应用程序都会根据通知触发警报,并且一旦点击通知应用程序启动并进入功能 didreceivenotification... 而 Android 可以显示占据整个屏幕以打盹或解除警报。当您在应用程序内部时,Apple 为您提供了您想做的所有功能,但在后台或应用程序被终止时,无法执行任何功能或 block 。

关于ios - 推送通知应用程序后台 iOS 9 swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40713660/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4