【问题标题】:ios 13 push notification device tokenios 13 推送通知设备令牌
【发布时间】:2019-11-15 10:53:54
【问题描述】:
我一直在读到 ios 13 现在以单独的格式返回设备令牌,如果不处理,我们的通知可能会中断。我可以看到很多错误格式的设备令牌保存在我的数据库中。
例如:{length=32,bytes=0x64......0c6f}
当我尝试调试时,我可以看到我的 ios 13 设备正在向我的数据库发送正确的设备令牌,而没有进行任何更改来处理新的方式。是否有任何情况下它可能会为 iOS 13 发送以前的格式设备令牌?
【问题讨论】:
标签:
swift
apple-push-notifications
ios13
【解决方案1】:
对于 iOS 13 试试这个:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
{
let token = deviceToken.reduce("", {$0 + String(format: "%02X", $1)})
print(token)
}
【解决方案2】:
这是写扩展数据的方式或者直接使用
extension Data {
var hexString: String {
let hexString = map { String(format: "%02.2hhx", $0) }.joined()
return hexString
}
}
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let devicetoken= deviceToken.hexString
print(devicetoken)
}