您好,目前我正在开发HomeKit,我想使用HomeKit实现一项功能。
我的要求是不使用二维码,我想添加配件。由于每个配件都有自己的URL,例如X-HM://XXXXXXXXX
与二维码相关联,即HMAccessoryPayLoad
.
我可以看到非常相似的问题,但没有答案
如何使用HMAccessoryPayLoad 添加和设置附件
打开 HomeKits X-HM://网址 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
}
运行此代码后,它不会给出错误或成功。我尝试检查控制台,但它是空的。
你能帮我使用有效载荷添加附件,而不使用代码或打开默认相机视图。
我从Apple支持那里得到了答案,因为基本上我处于相同的情况。
基本上,如果您不添加值等于 True 的授权"com.apple.developer.homekit.allow-setup-payload",则此 API 不起作用。
我知道,没有关于此的文档,但仅此而已。
此外,关键是我目前不知道如何将此权利添加到预配配置文件中。我已经要求Apple支持,一旦我得到答案,我将更新此线程Xamarin iOS - HomeKit集成。
您可以看到这是正确的方法,因为如果您在模拟器上尝试它,它将起作用。关键是要在真实设备上使用它,我们需要预配配置文件中的权利。
不确定这是否仍然与任何人相关,但为了修复此问题,您必须将此功能添加到 Apple 开发人员帐户上的配置配置文件中 ->证书、标识符和配置文件 ->选择您的标识符 ->转到"附加功能"选项卡,您将在那里找到 HomeKit AllowSetupPayload。
我不确定为什么这不包括在正常的 HomeKit 中,但这就是为我修复它的原因。
我收到了一封来自Apple的帮助电子邮件,如何启用com.apple.developer.homekit.allow-setup-payload,权利本身由MFI团队管理,所以你会 需要联系您的MFI代表以请求权利。