重新启动蓝牙后重新连接时,应用程序不会发现服务

chw*_*hwi 5 ios core-bluetooth

当我在连接到CoreBluetooth外围设备时切换蓝牙时,我会断开连接并删除centralManagerDidUpdateState回调中对我的外围设备的所有引用。

进行另一次扫描将找到并重新连接到设备并再次发出discoverServices,但这次回调didDiscoverServices从未发生。通过删除所有设置(常规 -> 重置 -> 重置所有设置)或重新启动,它会再次工作。正常断开/重新连接也可以。如何解决此问题或以编程方式删除 iOS 存储的所有缓存和 UUID?

Tom*_*voy 1

当您收到centralManager状态已更改为 的回调时CBCentralManagerStatePoweredOff,您需要循环遍历所有外设并调用cancelConnection:它们。然后你就可以出发了。

[_yourCentralManager cancelPeripheralConnection:yourPeripheral];
Run Code Online (Sandbox Code Playgroud)