我能够创建家庭并添加房间,但在尝试将配件添加到家庭时,
- (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]);
}
}];
}
显示一条警告,其中显示消息"输入灯泡的设置代码"使用文本字段和两个按钮,但文本字段不允许输入设置代码。当点击" SetUp"按钮警报在不执行任何操作的情况下被解除,并且当"取消"被选中,它将显示错误块,显示错误"操作无法完成。 (HMErrorDomain错误-70890。)"。
委托方法" didFindNewAccessory"将accessory.services打印为空。
-(void)accessoryBrowser:(HMAccessoryBrowser*)browser didFindNewAccessory:
(HMAccessory*)accessory {
NSLog(@"Accessory discovered is %@",accessory);
NSLog(@"Accessory services is %@",accessory.services);
}
例:
发现的附件是[name = lock,identifier = D8946530-BCD9-4244-AB49-AF507105CC73]
附件服务是()
答案 0 :(得分:1)
您从哪里调用addAccessory:(id)sender
方法?
您可以在didFindNewAccessory
:方法中添加已发现的设备,因为它会被发现的每个设备都被调用。
我认为变量myAccessory
是一个属性?我没有看到你在方法中将它设置为实例变量或在方法中使用它或作为参数。如果您没有手动初始化它,它可能是未初始化的。
另一种可能性是你没有在HomeKit附件模拟器中设置任何服务。这可以解释为什么你得到设备的描述但没有得到任何服务。
您是否可以添加更多代码来显示创建myAccessory的位置并调用方法?
编辑:
我有同样的问题它工作但后来不知何故停止工作。我无法输入设置代码并搜索了一下。解决方案是打开iOS模拟器并取消选中硬件中的“连接硬件键盘”选项 - >键盘菜单。之后会出现一个数字键盘,让您输入代码。