1

macOS を High sierra に、Xcode を 9.2 にアップデートしました。BLEデバイスの接続/切断とデータの読み込みを行っています。Xcode 8.2 では正常に動作していましたが、CoreBluetooth フレームワークに変更が加えられました。

CBPeripheralStateDisconnecting周辺状態に新しい状態が追加されます。CBPeripheralStateConnectingさて、状態からBLEデバイスとの接続を解除する機能も必要です。

メソッドを使用cancelPeripheralConnection:して接続をキャンセルしました。このメソッドの後、デバイスの状態は に変化し、状態にCBPeripheralStateDisconnectingはなりませんCBPeripheralStateDisconnected。再度接続を試みましたが、状態は変わりません。

要するに、BLE デバイスの状態は、CBPeripheralStateDisconnecting状態の後に変化することはありません。誰でも方法を提案できますか?

前もって感謝します。

4

1 に答える 1

0

CBPeripheralStateDisconnecting と CBPeripheralStateDisconnected の状態を同じものとして扱うことで問題を解決しました。CBPeripheralStateDisconnecting で CBPeripheralStateDisconnected と同じフローを実装しました。つまり、接続要求をデバイスに再度送信すると、機能しました。

于 2018-01-17T05:40:25.433 に答える