我使用首頁工具箱附件模擬器,我想從HMService的實例檢索附件的公司名稱。但是,當我添加一個斷點時,我看不到任何與公司名稱相關的字段(我在HMService和HMAccessory中搜索到)。檢索公司名稱由HMService和/或HMAccessory對象實例
有什麼建議嗎?
我使用首頁工具箱附件模擬器,我想從HMService的實例檢索附件的公司名稱。但是,當我添加一個斷點時,我看不到任何與公司名稱相關的字段(我在HMService和HMAccessory中搜索到)。檢索公司名稱由HMService和/或HMAccessory對象實例
有什麼建議嗎?
你可以得到廠商從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
看看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;
}