我在使用更新了服务的CBPeripheral时遇到了一些问题:我的物理设备有一个更新广告服务的按钮,但我的应用程序仍然在委托方法didDiscoverServices
中读取旧服务。
虽然当我在didDiscoverPeripheral
中发现外设时,我可以看到服务是最新的。
如果我再次运行该应用程序,旧服务仍然存在!似乎让我的应用程序发现新服务的唯一方法是关闭蓝牙并重新打开。即使卸载/重新安装我的应用程序也是不够的。
iOS会永久缓存服务吗?有没有办法重置/擦除缓存?
答案 0 :(得分:2)
scanForPeripheralsWithServices:options:
方法来发现作为广告服务的远程外围设备时,您的中央设备会使用其无线电来收听广告设备,直到您明确告诉它停止
参考:Best Practices for Interacting with a Remote Peripheral Device