• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 在 iOS 8 中使用 HomeKit 将配件添加到 Home

[复制链接]
菜鸟教程小白 发表于 2022-12-12 23:50:11 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我能够创建家并添加房间,但是当尝试将配件添加到家时,

- (IBAction)addAccessoryid)sender {
    [myHome addAccessory:myAccessory completionHandler:^(NSError *error) {
        if (!error) {
            NSLog(@"%@ accessory successfully added to %@ home",
                  myAccessory.name, myHome.name);
        } else {
            NSLog(@"addAccessory error = %@",[error localizedDescription]);
        }
    }];

}

会显示一条警报,其中包含消息“输入灯泡的设置代码”,其中包含一个文本字段和两个按钮,但该文本字段不允许输入设置代码。单击“设置”按钮时,警报将在不执行任何操作的情况下关闭,并且选择“取消”时,将出现错误 block 显示错误“无法完成操作。(HMErrorDomain错误-70890。)”。

委托(delegate)方法“didFindNewAccessory”将附件服务打印为空。

-(void)accessoryBrowserHMAccessoryBrowser*)browser didFindNewAccessory:
(HMAccessory*)accessory {
    NSLog(@"Accessory discovered is %@",accessory);
    NSLog(@"Accessory services is %@",accessory.services);
}

示例:
发现的附件是 [名称 = 锁,标识符 = D8946530-BCD9-4244-AB49-AF507105CC73] 辅助服务是 ( )



Best Answer-推荐答案


您从哪里调用 addAccessoryid)sender 方法?
您可以在 didFindNewAccessory: 方法中添加已发现的设备,因为它会为每个已发现的设备调用。

我想变量 myAccessory 是一个属性?我没有看到您在方法中将其设置为实例变量或在方法中或作为参数使用它。如果您没有手动初始化它,它可能未初始化。

另一种可能是您没有在 HomeKit Accessory Simulator 中设置任何服务。这可以解释为什么您获得设备描述但没有获得任何服务。

您能否添加更多代码来显示您在哪里创建 myAccessory 并调用您的方法?

编辑:
我在它工作的地方遇到了同样的问题,但后来不知何故停止了工作。我无法输入设置代码并用谷歌搜索了一下。解决方案是打开 iOS 模拟器并取消选中硬件 -> 键盘菜单中的“连接硬件键盘”选项。之后应该会出现一个数字键盘,让您输入代码。

关于ios - 在 iOS 8 中使用 HomeKit 将配件添加到 Home,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24779153/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap