欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

iOS蓝牙设备名称缓存问题的解决方法

程序员文章站 2024-01-15 21:23:04
1. 问题背景 当设备已经在 app 中连接成功后 修改设备名称 app 扫描到的设备名称仍然是之前的名称 app 代码中获取名称的方式为(perpheral.name) 2. 问题分析当...

1. 问题背景

  • 当设备已经在 app 中连接成功后
  • 修改设备名称
  • app 扫描到的设备名称仍然是之前的名称
  • app 代码中获取名称的方式为(perpheral.name)

2. 问题分析

当 app 为中心连接其他的蓝牙设备时。

首次连接成功过后,ios系统内会将该外设缓存记录下来。

下次重新搜索时,搜索到的蓝牙设备时,直接打印 (peripheral.name),得到的是之前缓存中的蓝牙名称。

如果此期间蓝牙设备更新了名称,(peripheral.name)这个参数并不会改变,所以需要换一种方式获取设备的名称,在广播数据包内有一个字段为 kcbadvdatalocalname,可以实时获取当前设备名称。

3. 问题解决

下面给出oc 和 swift 的解决方法:

oc

swift

总结

到此这篇关于ios蓝牙设备名称缓存问题的解决方法的文章就介绍到这了,更多相关ios蓝牙设备名称缓存内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关标签: ios 蓝牙 缓存