2017-06-02 72 views
1

到目前为止,我已经实现了一个应用程序,我可以创建HMActionSets,并将它们添加到HomeKit中,并且它们也可以执行(在Accessory Simulator中值相应更改)。不过,我面临着一个奇怪的问题:每当我叫isExecuting on HMActionSets always false

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

(我回来没有错误,并且actionset已实际执行)。不过,后来我回去通过我HMHome.actionSets阵列再看看,并检查

isExecuting 

属性 - >但后来它始终是false

你知道我可能会做错什么吗?

回答

0

不幸的是,我不明白为什么这个属性总是错误的。 但是,如果您想知道场景是否正在执行,我发现了一种解决方法:

只需检查HMActionSet的所有HMActions,检查HMAction的targetValue是否与相关特性的当前值,并且只有当所有指定的特性和值都相同时,才可以说:HMActionSet XYZ正在执行。显然,官方的Home App也是这样做的。 (在AppleKit开发者论坛上找到)