Acabo de actualizar de Xcode 7 a 8 GM y, en medio de los problemas de compatibilidad de Swift 3, noté que los tokens de mi dispositivo dejaron de funcionar. Ahora solo leen '32BYTES'.
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
{
print(deviceToken) // Prints '32BYTES'
print(String(data: deviceToken , encoding: .utf8)) // Prints nil
}
Antes de la actualización, podía simplemente enviar el NSData a mi servidor, pero ahora estoy teniendo dificultades para analizar el token.
¿Que me estoy perdiendo aqui?
Editar: Solo estoy probando la conversión de nuevo a NSData y veo los resultados esperados. Así que ahora estoy confundido acerca del nuevo tipo de datos.
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
simplemente imprime eldescription
deNSData
. Todavía no obtienes una cadena de eso.