我在更新服务的CBPeripheral时遇到了一些问题:我的物理设备有一个更新广告服务的按钮,但我的应用程序仍然读取委托方法didDiscoverServices中的旧服务。
虽然当我在didDiscoverPeripheral中发现外围设备时,我可以看到那里的服务是最新的。
如果我再次运行应用程序,旧的服务仍然存在!似乎让我的应用程序发现新服务的唯一方法是关闭并再次打开蓝牙。即使卸载/重新安装我的应用程序也是不够的。
iOS会永远缓存服务吗?有没有办法重置/擦除缓存?
发布于 2015-11-17 22:51:10
当您调用CBCentralManager类的scanForPeripheralsWithServices:options:方法来发现作为广告服务的远程外围设备时,您是否尝试过这种方法,您的中央设备使用其无线电侦听广告设备,直到您显式地告诉它停止
参考:Best Practices for Interacting with a Remote Peripheral Device
https://stackoverflow.com/questions/33756486
复制相似问题