ファームウェアが周辺機器を切断するように呼び出すと、デリゲートが呼び出されます ( didDisconnectPeripheral
)。その後、タイマーを開始し、5 秒後に再接続を試みます (タイマーの繰り返しが有効になっています)。
MydidFailToConnectPeripheral
は呼び出されず、didConnectToPeripheral も呼び出されません。約 30 秒後、チップは自動的にアプリに再接続します。
ボードを呼び出そうとしても、[_manager cancelPeripheralConnection:_peripheral];
きれいに切断されません。
周辺機器が自分自身を見つけるこの「リンボ」状態について、誰かがより多くの情報を持っていますか? 次のページを見つけました: iOS 6 - Bluetooth LE の切断 およびiOS CoreBluetooth が UUIDでデバイスを再接続していますが、この問題は Core Bluetooth にあるようです。この問題を回避する方法を知っている人はいますか?
次のエラーが表示されます。
Error Domain=CBErrorDomain Code=6 "The connection has timed out unexpectedly." UserInfo=0x1e09c050 {NSLocalizedDescription=The connection has timed out unexpectedly.}
切断しなければならない理由は、ボード上のプロセッサが他の処理に使い果たされているため、無線を維持できないためです。
Apple dev フォーラムのディスカッションへのリンクは次のとおりです: https://devforums.apple.com/message/898902