在iOS 9中执行预定义场景



嗨,我更新了我的Xcode和iOS。在iOS 9中,他们对HomeKit做了一些改变。因为他们默认添加了一些预定义的场景。比如HMActionSetTypeSleepHMActionSetTypeWakeUp……当我点击HMCatalog应用中的场景时它会抛出错误,动作中没有动作。有谁能告诉我如何执行场景内置的HMActionSetTypeWakeUp类型?谢谢您的宝贵时间。

"场景"本身就是HMAction聚合器,即HMActionSets。为了执行,你需要向hactionset添加动作,或者让动作集/场景做任何事情。

例如,当我在HMHome下执行Wake Up或Good Morning预定义场景时,我想将所需的恒温器温度设置为22摄氏度。

为了做到这一点,你需要创建一个HMAction(或者更准确地说,HMCharacteristicWriteAction——HMAction的一个子类),它将值24写入恒温器的期望温度。

一旦创建了HMAction(你可以创建多个这样的动作),将这个HMAction添加到预定义的场景中。请查看iOS api,了解具体的api调用。

在HMCatalog应用程序中,看看'ActionSetCreator'类。

同样,你可以通过在HMCatalog本身中添加HMActions来看到这个动作。深入到恒温器(或任何其他家庭配套服务)。在HMService下更改一些HMCharacteristics的值,然后进行回溯并保存您的场景(我可能会从一个屏幕一个屏幕的细节出发,就像在飞机座位上用内存写这篇文章一样,但希望您能明白这一点)。

一旦你在预定义的场景下列出了(任何)HMActions -试着向Siri说出场景的名称(或者你可以简单地通过在HMCatalog上按场景来执行它)。

如果恒温器(或其他HomeKit服务)正确配对,您应该看到您的状态问题解决了。

相关内容

  • 没有找到相关文章

最新更新