3

CoreBluetooth フレームワークを使用して Bluetooth Low Energy デバイスにアクセスする場合、はペリフェラルに対して をCBCentralManager返しますCBPeripheral

複数のサービスが周辺機器で利用可能であり、さまざまなサービスの特性値の更新を処理するコードを複数のクラスに分割したいと考えています。したがって、id<CBPeripheralDelegate>ペリフェラルに複数のデリゲートを接続する必要があります。ただし、1 つのデリゲートしかサポートされていないため、これは不可能です。

  • CBPeripheral同じ周辺機器に対して複数のインスタンスを取得する方法はありますか?

    複数のアプリケーションが同じ周辺機器にアクセスする可能性がある場合、それらは異なるCBPeripheralインスタンスを受け取りますか? はいの場合、他のアプリケーションからの更新が表示されますか? (たとえば、アプリケーション A が特性に値を書き込みます。アプリケーション B のデリゲートも [–peripheral:didWriteValueForCharacteristic:error:] メッセージを受け取りますか?)

  • イベント処理コードを複数のクラスに分割することをサポートするエレガントなアプローチはありますか?

4

1 に答える 1

4

CoreBluetooth答え: 多くの特性 (30 ~ 40) のコードを設計する方法は? ここで役立つデザインのヒントがいくつかあります。つまり、必要な特性を登録する複数の特性クラスをサポートする仲介クラスを作成します。CBPeripheralDelegate

于 2013-10-24T01:22:08.377 に答える