iPhone 6S を使用して iOS 9.1 で暗号化を使用して BLE 周辺機器に接続すると、BLE 周辺機器がすぐに切断されます。これが iOS 8 および 9.02 で動作することを確認しました。CBCentralManager didConnect デリゲート メソッドが呼び出され、有効な CBPeripheral オブジェクトが返されることを確認しました。
BLE ペリフェラルはすぐに切断されます。切断される前に、サービスや特性を発見することさえできません。CBCentralManager didDisconnect メソッドが呼び出されますが、エラーは返されません。
他の誰かがこれを見ていますか?これは 1 年以上正常に動作しており、iPhone 6S で iOS 9.1 を使用している場合にのみ発生すると言ったように. 9.1 でテストする他の周辺機器を使用しないでください。
アップデート
Apple によると、周辺機器を iPhone に結合していないために問題が発生しているとのことです。そのため、周辺機器のファームウェアを更新し、現在ボンディング中です。これは、電話機と周辺機器の間のボンディング ペアの維持に関するさまざまな問題を引き起こしています。ペリフェラルのメモリ量は限られているため、無限のボンド参照を維持することはできません。このシナリオを処理するために、ペリフェラルは最大 8 つの BLE ボンドを保存できます。9 番目の要求を受信すると、結合されたデバイスの周辺機器リストから最初の結合が削除されます。iPhone はこのボンドが削除されたことを認識せず、最初のデバイスに接続して特性と対話しようとすると、ペアリングを求められないため、これは問題を引き起こします。私の理解では、これが暗号化プロセスを開始するものです。
Bluetooth設定に移動してデバイスを「忘れる」以外に、結合されたデバイスのiPhoneリストから結合/デバイスを削除する方法があるかどうか疑問に思っています。
更新 #2
Apple は、セキュリティ上の問題により、アプリケーションの Bluetooth 設定内の [マイ デバイス] セクションから結合された周辺機器を削除する方法がないことを確認しています。
これに基づいて、シナリオは次のようになりました。iOS デバイスには、以前は [マイ デバイス] の下に結合された周辺機器への参照がありますが、その周辺装置には、結合されたデバイス テーブル内の iOS デバイスへの参照がありません。
ボンド参照がまだ残っている iOS デバイスを、ボンド参照がなくなった周辺機器に接続しようとすると、正常に接続できます。ただし、正常に接続した後、特性を発見し、通知するように設定し、応答もペアリング メッセージも受信しません。この問題を解決する唯一の解決策は、[設定] に進み、デバイスを [忘れて] してから、再接続を試みることです。
他の誰かがこの問題を経験していますか? 提案?
ありがとう!