HomeKit Simulator を使用して定義したホーム キット アクセサリのCUSTOM 特性に SIRI 名を関連付けたいと思います (方法の詳細については、この質問を参照してください)。
私は次のようなことができるでしょう:
- 「HOME で CHARACTERISTICONENAME を VALUE に設定」
- 「HOME で ACCESSORYNAME をオンにして」
- 「HOMEでCHARACTERISTICTWONAMEをVALUEに設定」
これは、定義済みの特性を使用して簡単に可能ですが、カスタム特性を使用できるようにする必要があります。
どうすればこれを達成できますか?
編集: HMService クラスだけに「updateName」関数があります。HMCharacteristic にはありません。
これは、サービス名と関連する特徴的なメーカーの説明にアクセスしようとすると得られるものです。
for (int i=0; i< [accessory.services count]; i++) {
HMService * service = [accessory.services objectAtIndex:i];
for (int j=0; j< [service.characteristics count]; j++) {
HMCharacteristic * characteristic = [service.characteristics objectAtIndex:j];
NSLog(@"service name: %@", service.name);
if ([characteristic.properties containsObject:HMCharacteristicPropertySupportsEventNotification]) {
NSLog(@"description of characteristic: %@", characteristic.metadata);
[characteristic enableNotification:TRUE completionHandler:^(NSError *error) {
if (error) {
NSLog(@"Error while enabling notification");
}
else {
NSLog(@"Notification enabled");
}
}];
}
}
}
サービス名: MyServiceName サービス 2015-08-21 09:40:20.833 AppName[217:5673] 特性の説明: [%@ 形式: 文字列、最大長: 1、メーカーの説明: サムシングカスタム モード]