CBCEntralManagerDelegateProtocol リファレンス 日本語訳
これは、Apple社のCBCentralManagerクラスドキュメント http://developer.apple.com/library/mac/#documentation/CoreBluetooth/Reference/CBCentralManagerDelegate_Protocol/translated_content/CBCentralManagerDelegate.html から、CoreBluetooth開発の理解に必要最低限の情報を日本語に意訳したものです。
CBCentralManagerDelegate プロトコルは、CBCentralのデリゲートのプロトコルです。
CBCentralManagerDelegateは、-[centralManagerDidUpdateState:] のみがrequiredです。その他は optional です。
インスタンス・メソッド
- (void)centralManagerDidUpdateState:(CBCentralManager *)central;
セントラル・マネージャのステートが更新された時に、呼ばれます。
引数:
- central
- ステートが変化したセントラルマネージャ。
議論:
詳細は “state” プロパティを参照してください。
- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral;
ペリフェラルとの接続が確立したときに、呼ばれます。
«««< HEAD
- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error;
ペリフェラルとの既存の接続が切断した時に、呼ばれます。
======= centralManager:didDisconnectPeripheral:error: Invoked whenever an existing connection with the peripheral is torn down.
- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error;
ペリフェラルとの既存の接続が切断した時に、呼ばれます。
centralManager:didDiscoverPeripheral:advertisementData:RSSI: Invoked when the central discovers a peripheral while scanning.
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI;
セントラルがスキャン中にペリフェラルを発見した時に、呼ばれます。
議論:
アドバタイズメント / スキャン・レスポンス・データは、“advertisementData"に収納され、CBAdvertisementData * キーを通して読み出すことができる。 (訳者注:BLEの規格ではアドバタイズメント・パケットには、デバイス名、デバイスが提供するサービスのUUID、メーカ独自の拡張データを収納することができます。最後の拡張データがiOSで読み取れるかは、未確認。) この引数のperipheralは、このペリフェラルに対して、なにかのコマンドを実行する場合は、必ずリテインしなければならない。(訳者注:リテインしないと、ペリフェラルは開放されて、接続が切断します。)
centralManager:didFailToConnectPeripheral:error: Invoked whenever the central manager fails to create a connection with the peripheral.
- (void)centralManager:(CBCentralManager *)central didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error;
セントラル・マネージャがペリフェラルと接続を確立するのに失敗した時に、呼ばれます。
議論:
失敗した原因は"error"に格納されます。
centralManager:didRetrieveConnectedPeripherals: Invoked when the central manager retrieves the list of peripherals currently connected to the system.
- (void)centralManager:(CBCentralManager *)central didRetrieveConnectedPeripherals:(NSArray *)peripherals;
セントラル・マネージャが、現在システムと接続しているペリフェラルの一覧を取得した時に、呼び出されます。
議論:
詳細は -[retrieveConnectedPeripherals] メソッドを参照してください。
centralManager:didRetrievePeripherals: Invoked when the central manager retrieves the list of known peripherals.
- (void)centralManager:(CBCentralManager *)central didRetrievePeripherals:(NSArray *)peripherals;
セントラル・マネージャが、既知のペリフェラルの一覧を取得した時に、呼び出されます。
議論:
詳細は -[retrievePeripherals:] メソッドを参照してください。
See Also:
centralManager:didRetrievePeripheral:
定数(CBAdvertisementData.h)
CBAdvertisementData.h は -[centralManager:didDiscoverPeripheral:advertisementData:RSSI:] のadvertisementDataの辞書の鍵を定義しています。
CBAdvertisementDataServiceUUIDsKey;
CBServiceのUUIDを表す、1つもしくはそれ以上のCBUUIDのリスト。
const CBAdvertisementDataOverflowServiceUUIDsKey
iOS6以降 アドバタイズメントデータの"overflow"領域で見つけられたCBService UUIDを表す、1つもしくはそれ以上のCBUUIDのリスト。 この領域のUUIDは"ベストエフォート"であるため、常に正確とは限らない。
参照:
startAdvertising:
CBAdvertisementDataLocalNameKey
ペリフェラルのローカル名を表す、NSString。
CBAdvertisementDataTxPowerLevelKey
ペリフェラルの送信電力を表す、NSNumber。
CBAdvertisementDataManufacturerDataKey
ペリフェラルの製造者データを表す、NSDataオブジェクト。
CBAdvertisementDataServiceDataKey
サービス特有のアドバタイズメントデータを含む辞書。 その辞書の鍵は、CBService UUIDを表す、CBUUIDオブジェクト。値はNSDataオブジェクト。