swift - Homekit触发器,如何调用

标签 swift triggers homekit

我正在观看有关 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/

相关文章:

swift - 更改 UIITabbar 宽度 ios13 swift

ios - Swift:MapKit - 识别 Pin Tap

mysql - 无法在亚马逊云托管的 mysql 中创建触发器

ios - 在 SwiftUI 中更改 UIHostingController 的 Root View

带`(反引号)的 Swift 变量名

c# - WPF 根据内容将标签背景设置为图像

postgresql - Postgres pg_trigger 的触发器类型字段(tgtype)中位的含义

ios - 在 HMEventTrigger 启用触发器中显示错误

ios - HomeKit HMHome 和 HMRoom 标识符/额外元数据

ios - HomeKit:将 SIRI 名称与自定义特征相关联