iOS APNS:以字符串格式将设备令牌发送给提供者

前端之家收集整理的这篇文章主要介绍了iOS APNS:以字符串格式将设备令牌发送给提供者前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要通过调用我的请求中需要 JSON数据的服务,将我的iOS应用程序的APNS设备令牌发送给我的提供商.我正在阅读Apple的 Local and Push Notification Programming Guide,它只是说应用程序:didRegisterForRemoteNotificationsWithDeviceToken:delegate方法将设备令牌传递为NSData,你应该将它传递给以二进制数据编码的提供者.但是我需要将它转换为字符串才能向我的提供者发送JSON请求.

我也一直在阅读几篇与此相关的帖子,因为它看起来是常见的情况,但我发现了一些不同的方法将这样的设备令牌转换为字符串来发送它,我不确定它们应该是哪一个是最合适的.处理这个问题最可靠的方法是哪种?我想我的提供者需要将此字符串转换回调用APNS,并且我还需要将此令牌存储在应用程序中,以便在生成新令牌并且调用application:didRegisterForRemoteNotificationsWithDeviceToken:时安全地将其与新值进行比较,仅在令牌发生变化时才发送令牌.

谢谢

解决方法

您必须将设备令牌从NSData转换为NSString才是正确的
能够使用JSON对象发送它.但是你选择的转换方法是完全的
由您或提供者的要求决定.最常见的方法是a
十六进制字符串(参见例如 Best way to serialize an NSData into a hexadeximal string)或Base64字符串(使用
base64EncodedStringWithOptions).两者都是100%“可靠”.

此外,您应始终将设备令牌发送给提供商,而不仅仅是在更改时.提供者必须保留所有设备令牌的数据库,其时间戳为当它最近发送时,为了比较时间戳和可能的响应来自“反馈服务”.

猜你在找的iOS相关文章