CoreBluetooth フレームワークを使用して Bluetooth Low Energy デバイスにアクセスする場合、はペリフェラルに対して をCBCentralManager
返しますCBPeripheral
。
複数のサービスが周辺機器で利用可能であり、さまざまなサービスの特性値の更新を処理するコードを複数のクラスに分割したいと考えています。したがって、id<CBPeripheralDelegate>
ペリフェラルに複数のデリゲートを接続する必要があります。ただし、1 つのデリゲートしかサポートされていないため、これは不可能です。
CBPeripheral
同じ周辺機器に対して複数のインスタンスを取得する方法はありますか?複数のアプリケーションが同じ周辺機器にアクセスする可能性がある場合、それらは異なる
CBPeripheral
インスタンスを受け取りますか? はいの場合、他のアプリケーションからの更新が表示されますか? (たとえば、アプリケーション A が特性に値を書き込みます。アプリケーション B のデリゲートも [–peripheral:didWriteValueForCharacteristic:error:] メッセージを受け取りますか?)イベント処理コードを複数のクラスに分割することをサポートするエレガントなアプローチはありますか?