当前位置:K88软件开发文章中心编程语言APP编程HomeKit → 文章内容

创建 Homes 和添加 Accessories

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-23 13:54:24

me} else {// Successfully changed the name}}];为 Homes 和 Room 添加 Bridge(桥接口)桥接口是配件中的一个特殊对象,它允许你和其他配件交流,但是不允许你直接和 HomeKit 交流。例如一个桥接口可以是控制多个灯的枢纽,它使用的是自己的通信协议,而不是 HomeKit 配件通信协议。想要给home添加多个桥接口 ,你可以按照 Adding Accessories to Homes and Rooms 中所描述的步骤,添加任何类型的配件到 home 中。当你给 home 添加一个桥接口时,在桥接口底层的配件也会被添加到 home 中。正如 Observing HomeKit Database Changes 中所描述的那样,每次更改通知设计模,home 的代理不会接收到桥接口的 home:didAddAccessory: 代理消息,而是接收一个有关于配件的 home:didAddAccessory:代理消息。在 home 中,要把桥接口后的配件和任何类型的配件看成一样的--例如,把它们加入配件列表的配置表中。相反的是,当你给 room 增添一个桥接口时,这个桥接口底层的配件并不会自动地添加到 room 中,原因是桥接口和它的的配件可以位于到不同的 room 中。创建分区分区 (HMZone) 是任意可选的房间(rooms)分组;例如楼上、楼下或者卧室。房间可以被添加到一个或者多个区域。可使用 addZoneWithName:completionHandler: 异步方法创建分区。所创建的作为参数传递到这个方法中分区的名称,在 home 中必须是唯一的,并且应该能被 Siri 识别。代码如下:__block HMHome *home = self.home;NSString *zoneName = @"Upstairs";[home addZoneWithName:zoneName completionHandler:^(HMZone*zone, NSError *error){if (error) {// Failed to create zone} else {// Successfully created zone, now add the rooms}}];可使用 addRoom:completionHandler:异步方法给分区添加一个 room,代码如下:__block HMRoom *room = roomInHome;[zone addRoom:room completionHandler:^(NSError *error) {if (error) {// Failed to add room to zone} else {// Successfully added room to zone} }];

上一页  [1] [2] 


创建 Homes 和添加 Accessories