我想将SIRI 名称与我使用 HomeKit 模拟器定义的家居套件配件的 CUSTOM 特征相关联(有关我如何做到的详细信息,请参阅此问题)。
我将能够做类似的事情:
- “在 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 service 2015-08-21 09:40:20.833 AppName[217:5673] 特征描述:[%@ 格式:字符串,最大长度:1,制造商描述:SomethingCustom 模式]