首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS 8中使用HomeKit向主页添加附件

在iOS 8中使用HomeKit向主页添加附件
EN

Stack Overflow用户
提问于 2014-07-16 19:03:56
回答 1查看 1.4K关注 0票数 2

我可以创建主页并添加房间,但当尝试将附件添加到主页时,

代码语言:javascript
复制
- (IBAction)addAccessory:(id)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]);
        }
    }];

}

将显示一个警告消息"Enter setup code for bulb“,其中有一个文本字段和两个按钮,但文本字段不允许输入设置错误。单击" setup”按钮时,警告将被清除,而不执行任何操作,并且当选择"cancel“时,它将显示错误块,显示错误”code.When any‘t be completed. (HMErrorDomain error -70890)“。

委托方法"didFindNewAccessory“将accessory.services打印为空。

代码语言:javascript
复制
-(void)accessoryBrowser:(HMAccessoryBrowser*)browser didFindNewAccessory:
(HMAccessory*)accessory {
    NSLog(@"Accessory discovered is %@",accessory);
    NSLog(@"Accessory services is %@",accessory.services);
}

示例:

发现的附件是name = lock,标识符= D8946530-BCD9-4244-AB49-AF507105CC73附件服务是()

EN

回答 1

Stack Overflow用户

发布于 2014-07-17 22:04:10

从哪里调用addAccessory:(id)sender方法?

您可以在didFindNewAccessory:方法中添加发现的设备,因为每个发现的设备都会调用该方法。

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

另一种可能是您没有在HomeKit附件模拟器中设置任何服务。这就解释了为什么你得到了设备的描述,却没有得到任何服务。

你能添加更多的代码来显示你在哪里创建myAccessory和调用你的方法吗?

编辑:

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24779153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档