Thread 中讨论的其他器件: SysConfig
我们根据 SimplePeripheral 示例在外设器件中使用 CC2652RB、该示例当前具有 SDK v4.20。 我们有一对多用例、在这种用例中、多个手机作为中间设备将随着时间的推移连接到我们的外设。 因此、我们不使用配对或绑定。 我们的问题是、在固件更新后、我们将一些新特性添加到我们的专有蓝牙服务中、以前连接到我们的任何设备的任何 iOS 设备的行为都与新特性不存在的情况类似。 似乎电话缓存了属性表并拒绝重新发现现在不同的列表。
我知道、蓝牙核心规范中规定的 GATT 服务的一部分中存在"服务已更改"特性、并且 Apple 的附件设计指南中规定、如果服务可能发生更改、则应使用该特性。 但是、它还指定了这适用于绑定的器件、并且更改通过重新连接时的指示进行通信。 由于我们不使用绑定、并且非绑定的设备在连接时无法立即接收到指示、因此我们的印象是、我们不需要更改此服务的特性、如果添加此服务、它甚至也不起作用。
但是,我们在这里迫切需要一个解决方案,所以我们愿意尝试,除非有人有更好的想法。 我的问题是:
- 是否有更好的方法来实现此目的? TI BLE 器件如何通过 iOS 重新发现更新的特性列表?
- 服务更改的特性是否适用于非绑定连接?
- 如何使用 TI 库添加服务更改特性? 在我链接此帖子的"相关问题"中、针对之前 SDK 中的错误提供了一个权变措施。 但是、该帖子已有一年半的历史、并且提到应该在去年晚些时候提供修复。 那么、现在的步骤是什么?
- "相关问题"还提到、添加此特征会在 COC 填充的图像大小中添加大量代码;是否有方法可以在没有指示的情况下仅获取特征? 由于我们不使用绑定、并且指示可能不起作用、我们是否可以尝试添加特征以查看 iOS 是否足以不缓存服务并实际执行发现?
