我刚刚从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
}

推荐答案

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    let token = deviceToken.map { String(format: "%02.2hhx", $0) }.joined()
    print(token)
}

Ios相关问答推荐

有没有办法观察滚动的SwiftUI图表的内容偏移量?

如果条件不满足,S从@ViewBuilder返回什么?

为什么导航栏在与Style.Page的选项卡栏一起使用时停止工作?

在许多UIButton中对齐文本,即使SF Symbols(或其他图像)具有不同的宽度?

iOS 17-在Xcode 15中添加导航控制器时,导航栏不会立即显示

如何在KMM项目中处理PHPickerViewController的回调?

在最新版本的 iOS 中,设备上的Localized.strings文件发生了什么变化?

Swift Combine 防止初始值触发接收器并同时防止重复?

我正在try 制作一种 Select 器样式,例如设置中的外观 Select 器

Xcode14 启动时崩溃:dyld:库未加载:/usr/lib/swift/libswiftCoreGraphics.dylib

Swift 5.7 - 使存在的任何协议符合 Hashable

.onChange(of: ) 一次用于多个 @State 属性?

swiftUI中的剪辑形状无法使用旋转效果

如何将单个按钮传递到自定义 ConfirmationDialog

XCode 14 Beta 中 NavigationStack 的正文渲染问题

如何在 Swift 中从另一个视图控制器将元素附加到数组中

通过MatchedGeometryEffect向上滑动视图

iOS 应用程序中的手动语言 Select (iPhone 和 iPad)

Xcode 10.2 无法在 iOS < 10 的模拟器上运行应用程序

我的应用程序因使用广告支持框架而被拒绝.哪个图书馆负责?