gpt4 book ai didi

push-notification - 获取推送通知 token -iOS 10,Swift 3

转载 作者:行者123 更新时间:2023-12-03 12:23:36 25 4
gpt4 key购买 nike

如何从 iOS 10 中的新 xCode 8 Swift 3 获取设备 token ?

这是注册通知的代码:

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()
}
}

在这里,我得到 token ,但是出现以下错误
Cannot invoke initializer for type 'UnsafePointer<CChar>' with an argument list of type '(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)
}

有人可以帮我解决吗?

最佳答案

此方法可以解决iOS 10及更高版本中的问题:

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
var token = ""
for i in 0..<deviceToken.count {
token = token + String(format: "%02.2hhx", arguments: [deviceToken[i]])
}
print(token)
}

关于push-notification - 获取推送通知 token -iOS 10,Swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39565172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com