わふうの人が書いてます。

iOSアプリケーション開発、BLEのファームウェアとハードウェア試作のフリーランスエンジニア。

CBCharacteristics/CBMutableCharacteristic クラスリファレンス 日本語訳

これはCBCharacteristicsクラスのうちCoreBlutoothを理解するために必要最小限の部分を日本語訳したものです。

CBCharacteristicsクラス

プロパティ

@property(readonly, nonatomic) CBService *service;

このcharacteristicが属するサービスへのポインタです。

@property(readonly, nonatomic) CBUUID *UUID;

characteristicのBluetooth UUID。

@property(readonly, nonatomic) CBCharacteristicProperties properties;

characteristicのプロパテイです。

@property(retain, readonly) NSData *value;

characteristicsの値です。

@property(retain, readonly) NSArray *descriptors;

このcharacteristicで、これまでに発見されたCBDescriptorsのリストです。

@property(readonly) BOOL isBroadcasted;

このcharacteristcが現在ブロードキャストされているか、否かを示します。

@property(readonly) BOOL isNotifying;

このcharacteristicが現在ノーティフィケーションされているか否かを示します。

CBMutableCharacteristics クラス

iOS6から有効です。
CBMutableCharacteristicsクラスは、CBCharacteristicクラスを継承します。

プロパティ

@property(assign, readwrite, nonatomic) CBAttributePermissions permissions;

characteristic valueの許可設定です。

see CBAttributePermissions

@property(retain, readwrite, nonatomic) CBUUID *UUID;

@property(assign, readwrite, nonatomic) CBCharacteristicProperties properties;

@property(retain, readwrite) NSData *value;

@property(retain, readwrite) NSArray *descriptors;

インスタンスメソッド

- (id)initWithType:(CBUUID )UUID properties:(CBCharacteristicProperties)properties value:(NSData )value permissions:(CBAttributePermissions)permissions;

返り値は、初期化されたcharacteristicです。

  • UUID
    • characteristicのBluetooth UUIDです。
  • properties
    • characteristicのプロパティです。
  • value
    • キャッシュされるcharacteristicの値です。もしもnilならば、値はダイナミックであり、オンデマンドで要求されます。
  • permissions
    • charactersticの値のパーミションです。

列挙型

CBAttributePermissions

ATT attributeの読み出し/書き込み/暗号化許可属性です。論理和で結合できます。

  • CBAttributePermissionsReadable
    • 読み出しのみ
  • CBAttributePermissionsWriteable
    • 書き込みのみ
  • CBAttributePermissionsReadEncryptionRequired
    • 信頼されたデバイスが、読み出し可能
  • CBAttributePermissionsWriteEncryptionRequired
    • 信頼されたデバイスが、書き込み可能

CBCharacteristicProperties

CBCharacteristicPropertiesは、そのcharacteristicの値がどのように使えるか、またはdescriptor(s)がアクセスできるかを示します。
論理和で結合させることができます。
特に明記がない限り、
CBPeripheralManager で公開されたローカルのcharacteristicsに対してプロパティは有効です。

  • CBCharacteristicPropertyBroadcast
    • characteristic configuration descriptorを使って、characteristicの値をブロードキャすることを許します。
    • local characteristcには許されていません。
  • CBCharacteristicPropertyRead
    • characteristicの値を読むことを許します。
  • CBCharacteristicPropertyWriteWithoutResponse
    • characteristicの値への、レスポンスがない書き込みを許可します。
  • CBCharacteristicPropertyWrite
    • characteristicの値への、書き込みを許可します。
  • CBCharacteristicPropertyNotify
    • characteristicの値の、レスポンスがないノーティフィケーションを許可します。
  • CBCharacteristicPropertyIndicate
    • characteristicの値の、インディケーションを許可します。
  • CBCharacteristicPropertyAuthenticatedSignedWrites
    • characteristicの値への、承認ありの書き込みを許可します。
  • CBCharacteristicPropertyExtendedProperties
    • もしも設定されていれば、追加のcharacteristicプロパティが、characteristic extended properties descriptorに定義されています。
    • local characteristicsには許されていません。
  • CBCharacteristicPropertyNotifyEncryptionRequired
    • もしも設定されていれば、信頼されたデバイスのみがcharacteristicの値のノーティフィケーションを有効に出来ます。
  • CBCharacteristicPropertyIndicateEncryptionRequired
    • もしも設定されていれば、信頼されたデバイスのみがcharacteristicの値のインディケーションを有効に出来ます。