2

私のアプリでは、周辺機器の書き込み可能な特性にデータを書き込む必要があります。周辺機器をスキャンし、周辺機器を検出して接続し、サービスを発見し、特性を発見し、最後にターゲット特性に書き込むというプロセスに従うことで、これを行うことができます。

ここまでできたら、気になる CBPheripheral と CBCharacteristic のリファレンスを残しておきます。 さて、次回は、保存した Peripheral と Characteristic に直接書き込んでみようと思います。しかし、Bluetoothの警告を下回っています。Peripheral から切り離されていない場合、Peripheral の特性に直接書き込むことはできませんか?

BTBeaconTest[1421:60b] CoreBluetooth[WARNING] は有効な周辺機器ではありません

[iPeripheral writeValue:dataToWrite forCharacteristic:iCharacterstic type:CBCharacteristicWriteWithResponse]; 

PS: 周辺機器から切断しませんでした。

4

1 に答える 1

1

ほとんどの場合、Bluetooth スタックがリセットされたか、その他の理由で周辺機器が無効になりました。状態の更新を監視する必要があり、OFFまたはを受け取った場合RESETTINGは、周辺機器と特性へのすべてのハンドルを無効にします。一般的には、周辺機器のみを参照して、必要なときに特性を参照することをお勧めします。CoreBluetooth がそれらをキャッシュするため、ルックアップは非常に高速になります。この回答は、その方法を示しています: https://stackoverflow.com/a/18091617/768935

于 2013-08-09T15:00:36.437 に答える