我正在使用 HomeKit SDK 创建一个应用程序,我想以编程方式添加一个未经认证的配件。我的目标是构建一个用户友好且方便的配对过程,而无需打印 QR 码或 NFC 就绪配件。我想以编程方式提交配对引脚/配对 URL,因此用户无需担心任何代码。
我已经设置了 HMAccessoryBrowser,它可以快速可靠地找到附件。到目前为止,我已经有了 HMAccessory 对象以及有效的配对链接(例如:),X-HM://123456789ABC
并且我尝试了三种方法来添加附件:
- 使用 Url 生成二维码,并使用原生相机或家庭应用程序进行扫描,效果非常好。- 问题:您需要第二台设备/打印二维码以扫描二维码。
- 使用HMHome的
addAccessory
功能直接添加HMAccessory。- 问题:在接受要求添加设备的提示后,家庭应用程序打开并要求扫描二维码或手动选择设备并输入代码。这对我来说没有意义,除非我刚刚告诉 HomeKit 它应该添加哪个配件,但它也在使用 HomeKit 配件模拟器的配件做这种行为,并且在这篇文章中也提到过。 - 使用 .打开 X-HM URL
UIApplication.open()
。- 问题:同样具有 HomeKit 权限,函数失败并显示错误消息:
-canOpenURL:URL 失败:“X-HM://123456789ABC” - 错误:“操作无法完成。(OSStatus 错误 -10814。)”
在授予对 myHome Data
的访问权限之前,错误消息类似于,您无权打开此 url。
在我看来,直接打开配对 URL 似乎是最好的解决方案,除非它对用户来说是相同的过程,就像添加任何其他 HomeKit 设备而无需扫描 QR 码一样,但我的想法已经不多了。
我将不胜感激任何想法、解决方法或其他过程,以使这件事配对,在此先感谢!