我正在观看有关 Homekit 的 WWDC 2018 视频,更准确地说是有关触发器的视频。我正在尝试使用此代码片段来创建日落存在触发器。我想在该功能运行时打开一盏灯。我已经有了turnOn 函数,但如何在此触发器中实现它?提前致谢!
func createSunsetPresenceTrigger(withName name: String, actionSet: HMActionSet, home: HMHome) {
var offset = DateComponents()
offset.minute = -10
let sunsetEvent = HMSignificantTimeEvent(significantEvent: .sunset, offset: offset)
let presence = HMPresenceEvent(presenceEventType: .atHome, presenceUserType: .currentUser)
let predicate = HMEventTrigger.predicateForEvaluatingTrigger(withPresence: presence)
let trigger = HMEventTrigger(name: name, events: [sunsetEvent], predicate: predicate)
home.addTrigger(trigger) { (error) in
guard error == nil else { return }
trigger.addActionSet(actionSet) { error in
guard error == nil else { /* Handle error */ return }
}
}
}
最佳答案
您需要创建一个HMActionSet,并将该灯的功率特征值设置为“true”,并添加HMTrigger这个函数
open func addActionSet(_ actionSet: HMActionSet, completionHandler completion: @escaping (Error?) -> Void)
关于swift - Homekit触发器,如何调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51753627/