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

重新启动应用程序时中央取消订阅特征

如何解决重新启动应用程序时中央取消订阅特征

IOS 应用程序是一个外围设备。配对后,外设可以成功更新特征值并通过updateValue:forCharacteristic:onSubscribedCentrals:

指示订阅的中心

当我成功调用方法时(配对后),日志显示该特性已通过 characteristic.subscribedCentrals 订阅了 1 个中心。

但是,如果我使用 Xcode 再次停止和启动应用程序并尝试更新特征值,日志显示该特征现在有 0 个订阅的中心,并且中心设备没有执行预期的行为,所以我假设它没有收到。

如何确保在重新启动/重新连接后中心仍然订阅我的服务特性?

谢谢

解决方法

我相信您可以做到这一点的唯一方法是在设备之间建立联系。通常,一旦应用程序被终止/重新启动,CCCD(客户端特征配置描述符)的值将被重置,因此每次连接时远程中央应用程序都需要重新启用它。但是,当两个设备绑定时,GATT 服务器存储有关启用 CCCD 的信息,然后在每次后续连接时加载这些 CCCD 值。您可以在此处找到更多信息:-

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