我可以创建主页并添加房间,但当尝试将附件添加到主页时,
- (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打印为空。
-(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附件服务是()
发布于 2014-07-17 22:04:10
从哪里调用addAccessory:(id)sender方法?
您可以在didFindNewAccessory:方法中添加发现的设备,因为每个发现的设备都会调用该方法。
我假设变量myAccessory是一个属性?我没有看到你在方法中将它设置为实例变量,或者在方法中使用它或作为参数。如果你不手动初始化它,它可能是未初始化的。
另一种可能是您没有在HomeKit附件模拟器中设置任何服务。这就解释了为什么你得到了设备的描述,却没有得到任何服务。
你能添加更多的代码来显示你在哪里创建myAccessory和调用你的方法吗?
编辑:
我在它工作的地方也有同样的问题,但后来不知何故停止了工作。我没能输入设置代码,我用谷歌搜索了一下。解决方案是打开键盘模拟器并取消选中Hardware ->键盘菜单中的“连接硬件键盘”选项。之后,应该会出现一个数字键盘,让您输入代码。
https://stackoverflow.com/questions/24779153
复制相似问题