如何从iOS 10中的新xCode 8,Swift 3获取设备令牌?获取推送通知令牌 - iOS 10,Swift 3
下面的代码注册通知:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
DispatchQueue.main.async {
let settings = UIUserNotificationSettings(types: [.badge, .sound, .alert], categories: nil)
UIApplication.shared.registerUserNotificationSettings(settings)
}
return true
}
func application(_ application: UIApplication, didRegister notificationSettings: UIUserNotificationSettings) {
if notificationSettings.types != UIUserNotificationType() {
application.registerForRemoteNotifications()
}
}
这里获得令牌,但我得到的错误“无法引用类型‘UnsafePointer’初始化与类型的参数列表‘(UnsafeRawPointer)’” :
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let chars = UnsafePointer<CChar>((deviceToken as NSData).bytes)
var token = ""
for i in 0..<deviceToken.count {
token += String(format: "%02.2hhx", arguments: [chars[i]])
}
print("Registration succeeded!")
print("Token: ", token)
}
任何人都可以帮助解决它吗?
感谢
http://stackoverflow.com/questions/37956482/registering-for-push-notifications-in-xcode-8-swift-3-0的可能的复制 – Moritz
您可以按照目标C这个链接其但你可以得到一些想法http://stackoverflow.com/questions/39572897/ios-10-push-notification-issue-solved –