Tôi vừa cập nhật từ Xcode 7 lên GM 8 và giữa các vấn đề tương thích với Swift 3, tôi nhận thấy rằng các mã thông báo thiết bị của tôi đã ngừng hoạt động. Bây giờ họ chỉ đọc '32BYTES'.
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
{
print(deviceToken) // Prints '32BYTES'
print(String(data: deviceToken , encoding: .utf8)) // Prints nil
}
Trước khi cập nhật, tôi có thể chỉ cần gửi NSData đến máy chủ của mình, nhưng bây giờ tôi đang gặp khó khăn khi thực sự phân tích mã thông báo.
Tôi còn thiếu gì ở đây?
Chỉnh sửa: Tôi vừa thử nghiệm chuyển đổi trở lại NSData và tôi thấy kết quả mong đợi. Vì vậy, bây giờ tôi chỉ nhầm lẫn về kiểu dữ liệu mới.
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
đơn giản in radescription
củaNSData
. Bạn vẫn không nhận được một chuỗi từ đó.