美文网首页IOS开发中的小知识点整理iOS上架
swift3升级后获取deviceToken打印为32bytes

swift3升级后获取deviceToken打印为32bytes

作者: i_iOS | 来源:发表于2016-11-30 14:48 被阅读840次

    最近升级swift3以后,在使用didRegisterForRemoteNotificationsWithDeviceToken这个方法的时候返回的deviceToken的数据类型为Data,打印出来的deviceToken值是“32bytes”,部分应用需要将deviceToken传到后台的应用不能正常使用推送功能。

    这个时候我们只需要将deviceToken转换一下数据类型就可以打印出正确的deviceToken了

    let device = NSData(data: deviceToken)

    let deviceId = device.description.replacingOccurrences(of:"<", with:"").replacingOccurrences(of:">", with:"").replacingOccurrences(of:" ", with:"")

    print("我的deviceToken:\(deviceId)")

    相关文章

      网友评论

      • Ericydong:这样是不是会导致需要注册deviceToken的第三方推送异常?
        i_iOS:@EriceWang swift坑太多:joy:
        Ericydong:@零零GO 好吧,困扰我两天了,终于解决了。最初有想过会是这里,可是个推通道在应用运行时是能收到推送的,就觉得可能只是打印行为不一致。。。
        i_iOS:@EriceWang 不处理的话,是的
      • 小鱼吐的泡泡:真是坑死了:cold_sweat:
        i_iOS:@小鱼吐的泡泡 都是被坑过来的:blush:
      • Anyeler:deviceToken.map { String(format: "%02.2hhx", $0) }.joined()
        这样就可以打印出来了
      • 不必luo嗦:你好 ?为什么会出现这个问题 我也遇到了 原因是什么

      本文标题:swift3升级后获取deviceToken打印为32bytes

      本文链接:https://www.haomeiwen.com/subject/bathjttx.html