Xcode 7から8 GMにアップデートしたところ、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
}
NSData
するだけして印刷しますdescription
のをNSData
。あなたはまだそれから文字列を取得しません。