【问题标题】:Apple HomeKit HMCharacteristicsApple HomeKit HM特点
【发布时间】:2016-03-03 11:41:36
【问题描述】:

我目前正在从事一个非常重要的研究项目。 我正在研究家庭自动化的主题。因此,我想实现 HomeKit 框架来控制动作模块。

我的应用程序已经能够搜索房屋、房间、配件、服务和特征。但我不知道如何正确处理所有不同的特征类型。有没有办法将特征类型获取为真实字符串(例如:HMCharacteristicTypePowerState)。

我真的不知道如何向用户展示那些重要的特征。

如果有人能给我一个提示,我将不胜感激;)

【问题讨论】:

    标签: ios swift homekit home-automation hmcharacteristic


    【解决方案1】:

    HMCharacteristic 有一个characteristicType 属性,您可以将其与常量进行比较。

    if characteristic.characteristicType == HMCharacteristicTypePowerState {
        // do something
    }
    

    Reference

    【讨论】:

    • 是的,我是这样解决的。但是由于某种原因,仍然有苹果没有定义的特性,我无法以这种方式访问​​。例如电源插座的当前功耗。
    • 所以你是说特征的类型不是由这些常量定义的?它是非官方的 HomeKit 配件吗?对于这些特征,characteristicType 的价值是什么?
    • 以防万一有人使用 ObjectiveC 执行此操作,您需要使用 isEqualToString,而不是 ==。
    【解决方案2】:

    HMCharacteristic 有一个 localizedDescription 属性,它返回一个可读的字符串,但如果您只想选择某些特征,最好按照 Mark 的建议使用 HMCharacteristicsType 常量

    【讨论】:

      【解决方案3】:
      if characteristic.characteristicType isEqualToString: HMCharacteristicTypePowerState {
          // do something
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-01
        • 1970-01-01
        相关资源
        最近更新 更多