0

我在 Xcode 7.3 中实现了苹果推送通知演示应用程序。它工作正常。最近我下载了 Xcode 8。现在我的演示应用程序在 Xcode 7 和 Xcode 8 中都不起作用。委托方法没有被调用。我不知道,出了什么问题。Xcode 建议创建权利,我做到了。请任何人帮助我。

谢谢, 维卡什

4

2 回答 2

1

在 AppDelegate 的 BuildPhase 中从 Capabilities 推送通知和添加 UserNotification 框架时添加委托方法 UNUserNotificationCenterDelegate

 import UserNotifications

在 didFinishingLaunching...

  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
    }

添加这些方法

   func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {

    let deviceTokenString = deviceToken.reduce("", {$0 + String(format: "%02X", $1)})
    print(deviceTokenString)


}

func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {

    print("i am not available in simulator \(error)")

}



@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) {

}
于 2017-01-12T11:33:29.807 回答
0

希望这个问题得到解决。

如果不是,请在调试和发布中添加功能(推送通知)。

于 2021-08-20T05:43:22.707 回答