• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

iOS 6 使用已保存的 BLE 外围设备 UUID 重置所有设置问题

[复制链接]
菜鸟教程小白 发表于 2022-12-12 09:30:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在 iOS 上开发一个 BLE 应用程序,在与 BLE 附件建立连接后,我将 CBPeripheral UUID 保存到 NSUSerDefaults。这样,如果应用程序稍后重新启动,并且 BLE 附件未打开或超出范围,我可以在应用程序的 UI 中将 BLE 附件显示为“未找到”。如果 BLE 配件开启或用户进入 BLE 范围内,应用将自动连接到 BLE 配件。

我面临的问题是,在 iOS 6 中,如果用户执行设置 -> 常规 -> 重置 -> 重置所有设置,则下次启动应用程序时,BLE 附件将具有不同的 CBPeripheral UUID。这会导致我的应用程序和 UI 出现问题,因为随后将显示两个 BLE 附件:一个用于新 UUID,一个用于旧 UUID(用户过去连接过但不再存在)。

应用程序是否有办法判断用户是否已完成“重置所有设置”,以便我可以清除已保存到首选项中的已连接 BLE 附件 (UUID) 列表?

或者对如何处理这种情况有任何其他想法?

谢谢,



Best Answer-推荐答案


将 UUID 存储在 Keychain 而不是 NSUserDefaults 中。当用户执行重置所有设置时,应用的钥匙串(keychain)将被删除,因此您的 UUID 将消失。

如果您真的想将 NSUserDefaults 用于 UUID,您也可以在钥匙串(keychain)中存储一些任意标志。在这种情况下,您只需在应用启动时检查标志是否存在于钥匙串(keychain)中。如果没有,则丢弃 UUID 并创建一个新标志。

关于iOS 6 使用已保存的 BLE 外围设备 UUID 重置所有设置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23163652/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap