OGeek|极客世界-中国程序员成长平台

标题: ios - 由于 HomeKit 配件中的事件而推送通知 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 19:37
标题: ios - 由于 HomeKit 配件中的事件而推送通知

我希望我的应用能够了解由 HomeKit 配件 (HMAccessory) 触发的事件。这样,当我的 HomeKit 驱动的运动检测器检测到运动时,我的应用程序就会以某种方式了解这一点(最好通过推送通知)。预装的 Home 应用似乎具有此功能。有没有办法使用 HomeKit 框架完成这项工作?

我找到的最近的是 HMCharacteristic :

func enableNotification(Bool, completionHandler: (Error?) -> Void)

但这不会产生推送通知并通过委托(delegate)回调传递更新(并且仅在应用程序处于前台时有效)。



Best Answer-推荐答案


很遗憾,我必须同意 Jeff Z 的观点。不可能直接这样做。

根据我的调查,然后作为推送通知“发布”的附件事件似乎是 Apple 的 Home 应用程序的一项功能,当它在 iPad、AppleTV 上设置为“Home Hub”模式时,很快就会成为 HomePods .它仅适用于门、锁和其他一些附件类型的简短列表。 (我仍在 Apple Docs 中寻找最终列表)这些通知被定向到 Home 应用程序,其他应用程序无法使用。

如果这是供您个人使用,您可以设置自定义附件作为服务,在家庭自动化触发时发送推送通知。

有一个 Javascript/Node.js 项目 homebridge它实现了家庭附件协议(protocol) (HAP),并允许您在家庭网络中建立可定制的 HAP 服务。

一般的做法是:

  1. 在您的家庭网络上安装 homebrige 服务器。无论是在 始终开启的计算机或获取专用于此的 Rasberry Pi 目的。
  2. 安装homebridge-pushed-notification插入 并将其配置为使用您的 GetPushed 应用程序。
  3. 在您的家庭应用程序中建立一个自动化,当从您的现成附件收到事件时,启动您在 2 中设置的推送通知。

这会向 GetPushed 应用发送通知。但总体大纲可能适用于其他推送服务,例如 Firebase Cloud Messaging。

关于ios - 由于 HomeKit 配件中的事件而推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43816900/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4