推送iOS 10的通知問題



Answers

在iOS 10之前一切正常,在我的情況下,只有功能設置會導致此問題。

必須打開它以進行推送通知。

Question

我已經開發了一個應用程序,因為我實現了推送通知。 目前它在蘋果商店上市。 iOS 9推送工作正常,但iOS 10之後無法正常工作。

代碼有什麼問題?




@Ashish Shah代碼的swift 3版本是:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

//notifications
        if #available(iOS 10.0, *) {
            let center  = UNUserNotificationCenter.current()
            center.delegate = self
            center.requestAuthorization(options: [.sound, .alert, .badge]) { (granted, error) in
                if error == nil{
                    UIApplication.shared.registerForRemoteNotifications()
                }
            }
        } else {
            // Fallback on earlier versions
        }

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

    }

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

    }



在iOS上,應用程序通過調用registerUserNotificationSettings: UIApplication策略來接近客戶端以獲取授權以獲取推送警告。

該應用程序調用適用於UIApplication (iOS)的registerForRemoteNotifications:技術或NSApplication (OS X)的策略registerForRemoteNotificationTypes: .

應用程序執行application:didRegisterForRemoteNotificationsWithDeviceToken: UIApplicationDelegate (iOS)或NSApplicationDelegate (OS X)的技術,以獲取推送權益產生的一種小工具令牌。

應用程序執行application:didFailToRegisterForRemoteNotificationsWithError: UIApplicationDelegate (iOS)或NSApplicationDelegate (OS X)的技術,如果註冊失敗,則會出錯。






Links