应用程序重新连接后重新启动蓝牙电源后不发现服务

当我连接到CoreBluetooth外围设备时切换蓝牙,我在centralManagerDidUpdateStatecallback中断开和删除了所有对外设的centralManagerDidUpdateState

做另一个扫描将find并重新连接到设备,并再次发出discoverServices ,但这次callbackdidDiscoverServices从来没有发生。 通过删除所有设置(常规 – >重置 – >重置所有设置)或重新启动它再次工作。 断开/重新连接正常也可以。 我怎样才能解决这个问题或删除所有由iOS存储的caching和UUID编程?

当你得到centralManager状态改变为CBCentralManagerStatePoweredOff的callback时,你需要CBCentralManagerStatePoweredOff你的所有外设并调用cancelConnection:在它们上面。 那么你会好起来的。

 [_yourCentralManager cancelPeripheralConnection:yourPeripheral];