微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iOS 不处理通用访问配置文件 0x24 (URI) 蓝牙广告?

如何解决iOS 不处理通用访问配置文件 0x24 (URI) 蓝牙广告?

我们有一个关于使用 iOS 读取蓝牙广告数据的问题。

在我们的应用程序中,我们将蓝牙 SIG 组 URI 与 https://www.bluetooth.com/specifications/assigned-numbers/uri-scheme-name-string-mapping/ 中所述的数据字段用于我们的自定义数据。使用Android手机和Windows,我们可以按照规范解码数据就好了。但是,对于我们在 iOS 中的应用程序,我们看不到此类数据。

我使用 Android 手机和应用程序捕获了原始广告数据。它包含类型 0x01、0x02、0x08 和 0x24。 在 iOS 中,当中央管理器发现我的外围设备时,在广告键中解码以下类型:

  • 类型 0x02(服务类 UUID)在广告密钥 CBAdvertisementDataServiceUUIDsKey 中解码
  • 类型 0x08(本地短名称)在广告密钥 CBAdvertisementDataLocalNameKey 中解码

在 iOS 中,以下类型不会在广告键中解码:

  • 输入 0x01(标志),这没问题。
  • 输入 0x24 (URI),这就是我遇到的问题。

为了获得更多见解,我按照以下说明使用 BLE 数据包记录器:https://www.bluetooth.com/blog/a-new-way-to-debug-iosbluetooth-applications/

然后当我扫描我的 BLE 信标时,我得到的输出显示 iOS 可以读取较低级别的 URI 信息。它只是没有将它呈现给我可以将其作为广告数据处理的应用层,也许是因为 iOS 框架 CoreBluetooth 没有为通用访问配置文件 0x24 (URI) 定义广告密钥?

所以我的问题是您之前是否有过这方面的经验,或者您是否遇到过同样的问题?对此有解决方案吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。