我到处都读到ios 13现在以单独的格式返回设备令牌,如果不处理,我们的通知可能会中断。我能够看到很多错误格式的设备令牌已保存在数据库中。 例如:{length = 32,bytes = 0x64 ...... 0c6f} 当我尝试调试时,我可以看到ios 13设备正在向数据库发送正确的设备令牌,而没有进行任何更改以处理新方法。有什么情况可能会为iOS 13发送以前格式的设备令牌?
答案 0 :(得分:1)
对于 iOS 13 ,请尝试以下操作:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
{
let token = deviceToken.reduce("", {$0 + String(format: "%02X", $1)})
print(token)
}
答案 1 :(得分:0)
这是写数据扩展或直接使用的方式
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)
}