我正在使用家庭套件附件模拟器,我想从HMService实例中检索附件的公司名称。但是,当我添加断点时,我看不到任何与公司名称相关的字段(我在HMService和HMAccessory中搜索)。
有什么建议吗?
发布于 2015-04-27 11:29:10
您可以从HMServiceTypeAccessoryInformation服务获得制造商的名称,服务包含特征数组,这里有HMCharacteristicTypeManufacturer特性。
您可以使用这个来显示公司名称。
- (HMCharacteristic *)characteristicForAccessory:(HMAccessory *)accessoryValue{
HMAccessory *thisAccessory = accessoryValue;
HMService *service;
for (HMService *thisService in thisAccessory.services) {
if([thisService.serviceType isEqualToString:HMServiceTypeAccessoryInformation]) {
service = thisService;
}
}
HMCharacteristic *characteristic;
if (service) {
for (HMCharacteristic *charact in service.characteristics) {
if ([charact.characteristicType isEqualToString:HMCharacteristicTypeManufacturer]) {
characteristic = charact;
}
}
}
return characteristic;}
利用特征对象的价值属性获取制造商的名称。
就像characteristic.value
发布于 2016-07-15 16:14:44
看看Raeid Saqur的RSHomeKit框架:
您可以通过调用service.accessory获得附件。然后使用:
+ (NSString *)getManufacturerNameForHMAccessory:(HMAccessory *)accessory;
+ (NSString *)getManufacturerNameForHMAccessory:(HMAccessory *)accessory {
if (!accessory) {
return nil;
}
HMCharacteristic *manufacturer = [HomeKitUtility getCharacteristicWithUUID:HMCharacteristicTypeManufacturer forAccessory:accessory];
if (manufacturer && manufacturer.value) {
return (NSString *)manufacturer.value;
}
return nil;
}https://stackoverflow.com/questions/29843907
复制相似问题