HMActionSets 上的 isExecuting 始终为 false

isExecuting on HMActionSets always false

到目前为止,我已经实现了一个可以创建 HMActionSet 的应用程序,它们被添加到 HomeKit 中,并且它们也可以被执行(配件模拟器中的值相应地改变)。但是,我遇到了一个奇怪的问题:每当我打电话给

func executeActionSet(HMActionSet, completionHandler: (Error?) -> Void)

(返回没有报错,actionset确实执行了)。但是,然后我返回并再次查看我的 HMHome.actionSets 数组,并检查

isExecuting

属性 -> 但它总是 false

你知道我做错了什么吗?

遗憾的是,我不明白为什么这个属性总是错误的。 但是,如果您想知道当前是否正在执行某个场景,我找到了一个解决方法:

简单遍历HMActionSet的所有HMAction,检查HMAction的targetValue是否与关联特征的当前值相同,只有所有指定的特征和值都相同,然后你可以说:正在执行 HMActionSet XYZ。显然,官方的 Home App 也是这样做的。 (在 HomeKit 的 Apple 开发者论坛上找到)