Я много раз пробовал, но не назвал метод didRegisterForRemoteNotificationsWithDeviceToken
. Я потратил много времени. Пожалуйста, дайте мне знать, если у кого-нибудь есть решение.
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data){
let deviceTokenString = deviceToken.reduce("", {$0 + String(format: "%02X", $1)})
}
Функция ниже, используемая для уведомления о регистрации в didFinishLaunchingWithOptions
в AppDelegate
.
func registerNotification(application:UIApplication) -> Void {
if #available(iOS 10.0, *){
UNUserNotificationCenter.current().delegate = self
UNUserNotificationCenter.current().requestAuthorization(options: [.badge, .sound, .alert], completionHandler: {(granted, error) in
if (granted)
{
DispatchQueue.main.async {
UIApplication.shared.registerForRemoteNotifications()
}
}
else{
print("Noti Not registered !!")
//Do stuff if unsuccessful...
}
})
}
else { //If user is not on iOS 10 use the old methods we've been using
let notificationSettings = UIUserNotificationSettings(
types: [.badge, .sound, .alert], categories: nil)
application.registerUserNotificationSettings(notificationSettings)
}
}