ios 13推送通知设备令牌

时间:2019-11-15 10:53:54

标签: swift apple-push-notifications ios13

我到处都读到ios 13现在以单独的格式返回设备令牌,如果不处理,我们的通知可能会中断。我能够看到很多错误格式的设备令牌已保存在数据库中。 例如:{length = 32,bytes = 0x64 ...... 0c6f}  当我尝试调试时,我可以看到ios 13设备正在向数据库发送正确的设备令牌,而没有进行任何更改以处理新方法。有什么情况可能会为iOS 13发送以前格式的设备令牌?

2 个答案:

答案 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)
}