Периферийное состояние никогда не меняется после состояния CBPeripheralStateDisconnecting в mac osx 10.13 CoreBluetooth framework

Я обновил macOS до High sierra и Xcode до 9.2. Я работаю над подключением / отключением устройства BLE и чтением данных. Он отлично работал в Xcode 8.2, теперь есть изменения в структуре CoreBluetooth.

Новое состояние CBPeripheralStateDisconnecting добавляется в периферийное состояние. Теперь мне нужна функция для отмены соединения с устройством BLE из состояния CBPeripheralStateConnecting.

Я использовал метод cancelPeripheralConnection: для отмены соединения. После этого метода состояние устройства меняется на CBPeripheralStateDisconnecting и никогда не переходит в состояние CBPeripheralStateDisconnected. Я попытался снова подключиться, но состояние не изменилось.

Короче говоря, состояние устройства BLE никогда не меняется после состояния CBPeripheralStateDisconnecting. Пожалуйста, может ли кто-нибудь предложить способ?

Заранее спасибо.


person user8154740    schedule 05.01.2018    source источник
comment
Никто еще не сталкивался с такой же проблемой? Я все еще ищу решение   -  person user8154740    schedule 16.01.2018


Ответы (1)


Я решил проблему, рассматривая состояние CBPeripheralStateDisconnecting и CBPeripheralStateDisconnected как одно и то же. Реализован тот же поток для CBPeripheralStateDisconnecting, что и для CBPeripheralStateDisconnected, т.е. снова отправить запрос на подключение к устройству, и это сработало.

person user8154740    schedule 17.01.2018