如果你没有智能电器(智能配件),你可以使用 HomeKit Accessroy Simulator 来模拟 home 中的智能电器。每个模拟配件都拥有服务和特性,你可以从你的 App 当中控制它。你的 App 在 HomeKit 数据库中创建对象和关系。它可以创建 home 布局,可以添加新的配件到模拟的 home 环境当中,最后向 home 中的每个房间添加智能配件。然后,你的app就能控制这些在 HomeKit Accessory Simulator 展示的模拟智能配件了。为了使用 HomeKit Accessory Simulator,请在iOS模拟器中运行你的应用程序,或者使用Xcode在iOS设备上运行应用程序。
HomeKit Accessory Simulator 是一个附加的开发者工具,不过并没有安装在 Xcode 当中。请按照 Download HomeKit Accessory Simulator 中所述的安装 HomeKit Accessory Simulator。
使用HomeKit Accessory Simulator来添加智能电器到模拟网络中。
向网络中添加智能电器配件,请按照下面的步骤添加:
如果想删除一个智能电器,请选择一个智能电器然后点击键盘上的Delete键。
一个智能电器需要一项服务和特性,你可以从 App 控制它。从预定义了服务列表中选择一项服务,并自定义特性。
按照下面步骤向智能电器中添加服务
1.在 HomeKit Accessory Simulator 中,选择 Accessories 列中的某个配件。
该配件的服务信息会展示在一个详情界面中。
注意:所有智能电器都有一个Accessory Information,显示在所有其他服务的下方。你可以向这个Accessory Information服务添加特性,但你不能删除默认的特性。
2.点击添加服务(Add Service),并从弹出视图中选择一个服务类型。
新添加的服务会在右边详细显示。HomeKit Accessory Simulator 为每种服务创建通用的特性。比如一个灯光服务的默认特性为色彩(Hue),饱和度(Saturation),亮度(Brightness)和开关。(开关特性和电源状态特性是一样的,正如 Accessing Values of Characteristics 中描述的那样。)一些特性是强制性的有一些也是可选择的。比如,开关特性就是强制性的,而色彩,饱和度,亮度这些特性都是可选择的。
你可以向服务中添加预定义的特性,或者自定义的特性。每种特性你都只能添加一个。
按照下面的步骤向服务中添加特性:
点击特性右边的减号来删除一个特性。如果特性右边并没有减号显示,这说明这个特性对这个服务来说是必须的。比如,你可以删除电灯服务中的色彩(Hue),饱和度(Saturation)和亮度(Brightness),但是你不可以删除开关特性。
在你通过 HomeKit Accessory Simulator 创建了一个智能电器后,运行你的App然后添加一个新的智能电器到你的家庭。
如何配对家庭中的智能电器:
在 Xcode 中,点击 Run 并调用 addAccessory:completionHandler:方法(如 Adding Accessories to Homes and Rooms中描述的那样).
在 HomeKit Accessory Simulator,setup code 显示在详情界面智能电器名称下。
关于如何编写代码来添加一个智能电器到家庭和房间请阅读Creating Homes and Adding Accessoris。
在HomeKit Accessory Simulator中,你可以获得智能电器的服务,并在其他HomeKit App中设置服务的特性值来模拟控制这个智能电器,或者手动地模拟控制智能电器。
想要控制一个智能电器你需要:
比如,为了改变一个灯泡的颜色(Hue),饱和度(Saturation)和亮度(Brightness),请滑动这个滑块。为了打开这个灯泡请选择 On 选项。
如果你的 App 展示了一个服务的特性,比如灯泡的开关状态,当你在HomeKit Accessory Simulator中改变这些特性的值时,它应当更新视图。
为了观察HomeKit数据库的变化,请阅读Observing HomeKit Database Changes。如果你想从 App 中通过编写代码来控制一个智能电器,请阅读Accessing Services and Characteristics。
为了模拟那些不支持 HomeKit Accessory Protocol 协议的智能电器,需要添加一个虚拟桥接口,然后将智能电器添加到这个虚拟桥接口。配置虚拟桥接口底层的智能电器和配置其他类型的智能电器差不多。
添加一个虚拟桥接口到网络
添加一个代表这个虚拟桥接口的智能电器。
为了添加一个虚拟桥接口到网络你需要:
可向一个虚拟桥接口添加一个或多个智能电器。
为了向一个虚拟桥接口添加一个智能电器,需要:
想要了解虚拟桥接口中的智能电器的详细信息,请选择虚拟桥接口部分中的智能电器。如果需要的话你可以点击虚拟桥接口旁边的查看详情来查看这个虚拟桥接口的智能电器。在你添加了一个服务和特性到这些智能电器之后,如Adding Services to Accessories和Adding Characteristics to Services中描述。它们会在这个虚拟桥接口被选择之后被展示出来。
将虚拟桥接口和home匹配的过程和将一个智能电器配置到一个home的过程是一样的,如 Adding Accessories to a Home in Your App 描述的。在虚拟桥接口底层的智能电器配件也一样被加入到了 home,如 Adding Bridges to Homes and Rooms 所描述。
如何控制虚拟桥接口底层的智能电器和直接控制智能电器的步骤一致,如 Controlling Accessories in HomeKit Accessory Simulator 中描述,除了你直接选择虚拟桥接口下的智能电器之外。
在iOS模拟器中你不能测试分享 HomeKit 数据库到多个 iOS 设备和用户。你应该安装你的App到多台iOS设备上,在这些设备中输入 iCloud 证书,然后运行你的 App。或者,使用 ad hoc 授权来在多台注册设备中测试你的app,如 Distributing Your App Using Ad Hoc Provisioning in App Distribution Guide 描述。
你的 App 应该应该可以允许一个用户邀请客人到你的家中,如 Managing Users 所述。