2

複数のBluetoothLEペリフェラルを同時にiPadアプリに接続したいのですが、以下を使用して特性の変更とその特性の変更を通知したいです。

CBPeripherial writeValue:forCharacteristic:type:

出来ますか?

各ペリフェラルの処理を異なるスレッドに配置する必要がありますか?

あなたの答えをありがとう!

4

1 に答える 1

0

デリゲートのディスパッチキューを設定するのはあなた次第です。writeValueは、リモートペリフェラルの値を書き込んでいます。同じリモートペリフェラルに複数の書き込みがある場合、基盤となるプロトコルレイヤー(ATT)呼び出しは、フレームワーク(CoreBluetooth)レベルで同期されます。異なる周辺機器に書き込んでいる場合、それぞれが異なる通信チャネルで動作しています。いずれにせよ、スレッドセーフの懸念はありません。

ただし、もちろん、デリゲートが異なるスレッドからローカルオブジェクトにアクセスしている場合、それらのオブジェクトがスレッドセーフでない場合は、それらのオブジェクトを保護する必要があります。

于 2012-07-26T01:26:25.610 に答える