首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从HMService和/或HMAccessory对象实例中检索公司名称

从HMService和/或HMAccessory对象实例中检索公司名称
EN

Stack Overflow用户
提问于 2015-04-24 09:35:23
回答 2查看 434关注 0票数 0

我正在使用家庭套件附件模拟器,我想从HMService实例中检索附件的公司名称。但是,当我添加断点时,我看不到任何与公司名称相关的字段(我在HMService和HMAccessory中搜索)。

有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2015-04-27 11:29:10

您可以从HMServiceTypeAccessoryInformation服务获得制造商的名称,服务包含特征数组,这里有HMCharacteristicTypeManufacturer特性。

您可以使用这个来显示公司名称。

代码语言:javascript
复制
- (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

票数 1
EN

Stack Overflow用户

发布于 2016-07-15 16:14:44

看看Raeid Saqur的RSHomeKit框架:

您可以通过调用service.accessory获得附件。然后使用:

代码语言:javascript
复制
+ (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;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29843907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档