2

您好,目前我正在开发 HomeKit,我想使用 HomeKit 实现一项功能。

我的要求是不使用要添加附件的 QR 码。由于每个配件都有自己的 URL,例如X-HM://XXXXXXXXX与 QR 码相关联,即HMAccessoryPayLoad.

我可以看到非常相似的未回答的问题

如何使用 HMAccessoryPayLoad 添加和设置附件

打开 HomeKits X-HM:// URL sheme

因此,根据文档,我尝试使用以下代码添加附件。我希望使用此代码我们可以直接添加配件,而无需打开默认的 HomeKit 摄像头视图。

if #available(iOS 11.3, *) {

    let payload = HMAccessorySetupPayload.init(url: URL.init(string: "X-HM://XXXXXXXXXX")!)

    home!.addAndSetupAccessories(with: payload!) { (accessories, error) in

        if let error = error {
            print("Error from addAndSetupAccessories:",error)
        } else {
            print("The accessory is added.")
        }
    }
} else {
    // Fallback on earlier versions
}

运行此代码后,它没有给出错误或成功。我尝试检查控制台,但它是空的。

您能帮我使用有效负载添加附件吗?无需使用代码或打开默认相机视图。

4

2 回答 2

0

不确定这是否仍然与任何人相关,但为了解决此问题,您必须将此功能添加到您的 Apple 开发人员帐户的配置文件中 -> 证书、标识符和配置文件 -> 选择您的标识符 -> 转到附加功能选项卡,您将在那里找到 HomeKit AllowSetupPayload。

我不确定为什么这不包含在普通的 HomeKit 中,但这就是为我解决的问题。

于 2021-08-11T10:24:17.173 回答
0

我从 Apple 支持那里得到了答案,因为我基本上处于同样的情况。

基本上,如果您不添加值为 True 的权利“com.apple.developer.homekit.allow-setup-payload”,则此 API 不起作用。

我知道,没有关于此的文档,但就是这样。

此外,关键是我目前不知道如何将此权利添加到配置文件中。我已要求 Apple 支持,一旦我得到答案,我将更新此线程Xamarin iOS - HomeKit integration 。

您可以看到这是正确的方法,因为如果您在模拟器上尝试它,它将起作用。关键是要在真实设备上使用它,我们需要配置文件中的权利。

于 2020-10-02T14:21:18.790 回答