我刚刚从Xcode7更新到8GM,在SWIFT 3的兼容性问题中,我注意到我的设备令牌已经停止工作.他们现在只读"32BYTES".
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
{
print(deviceToken) // Prints '32BYTES'
print(String(data: deviceToken , encoding: .utf8)) // Prints nil
}
在更新之前,我可以简单地将NSData发送到我的服务器,但现在我很难真正解析令牌.
我错过了什么吗?
编辑:我刚刚测试了转换回NSData,我看到了预期的结果.所以现在我只是对新的数据类型感到困惑.
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
{
print(deviceToken) // Prints '32BYTES'
print(String(data: deviceToken , encoding: .utf8)) // Prints nil
let d = NSData(data: deviceToken)
print(d) // Prints my device token
}