6

我在使用更新了服务的 CBPeripheral 时遇到了一些问题:我的物理设备有一个更新广告服务的按钮,但我的应用程序仍然在委托方法中读取旧服务didDiscoverServices

虽然当我在 中发现外围设备时didDiscoverPeripheral,我可以看到那里的服务是最新的。

如果我再次运行该应用程序,旧服务仍然存在!似乎让我的应用程序发现新服务的唯一方法是关闭蓝牙然后再打开。即使卸载/重新安装我的应用程序也是不够的。

iOS会永远缓存服务吗?有没有办法重置/擦除缓存?

4

1 回答 1

2

你试过这个当你调用scanForPeripheralsWithServices:options:CBCentralManager 类的方法来发现远程外围设备的广告服务时,你的中央设备使用它的无线电来监听广告设备,直到你明确告诉它停止

参考:与远程外围设备交互的最佳实践

于 2015-11-17T14:51:09.863 回答