ios - ios swift - 将设备令牌保存为打印不同值的数据格式
问题描述
我尝试将 devicetoken 保存到 userDefaults 以供以后使用。
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
print(deviceToken) // value print as 32 bytes
let encodedData: Data = NSKeyedArchiver.archivedData(withRootObject: deviceToken)
UserDefaults.standard.set(encodedData , forKey: "deviceToken")
let decoded = UserDefaults.standard.data(forKey: "deviceToken")
print(decoded) // value print as 172 bytes
}
我不知道打印值是否正确。如何验证?或者如果我的存储机制是错误的。如何保存数据以备后用?
解决方案
编码Data
为Data
多余,直接保存token即可
UserDefaults.standard.set(deviceToken, forKey: "deviceToken")
你可以用
print(deviceToken as NSData)
供以后使用
有什么用?发送通知的服务器需要维护令牌,而不是客户端。
推荐阅读
- python - 在 DirectX 中实现 Python pyquaternion.rotation_matrix 函数
- python - 在 Python 中保存从 fbprophet 生成的图
- python-3.x - 将文件名信息解析为连接的 csv 文件中的多列
- python - 在嵌套循环中向 Python Dict 添加键/值时出错
- python - 如何从 C 运行 Python 脚本?
- jquery - jQuery Checkboxs 作为单选按钮,能够取消选中所有
- javascript - 无法在 Javascript 小书签中正确定位 iFrame
- javascript - 将 Google 表格转换为单独的 PDF 并通过电子邮件发送
- pandas - 有没有办法根据熊猫中类似表的新值替换表的 1 列的旧值
- python-3.x - 如何将两个坐标之间的区域划分为块并为这些块分配一些值?