Saya baru saja memperbarui dari Xcode 7 ke 8 GM dan di tengah masalah kompatibilitas Swift 3, saya perhatikan bahwa token perangkat saya telah berhenti berfungsi. Mereka sekarang hanya membaca '32BYTES'.
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
{
print(deviceToken) // Prints '32BYTES'
print(String(data: deviceToken , encoding: .utf8)) // Prints nil
}
Sebelum pembaruan saya dapat dengan mudah mengirim NSData ke server saya, tetapi sekarang saya mengalami kesulitan untuk benar-benar mem-parse token.
Apa yang kulewatkan di sini?
Sunting: Saya baru saja menguji konversi kembali ke NSData dan saya melihat hasil yang diharapkan. Jadi sekarang saya hanya bingung tentang tipe Data baru.
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
hanya mencetakdescription
dariNSData
. Anda masih belum mendapatkan string dari itu.