第七部分:测试HomeKitApp
如果你没有智能电器(智能配件),你可以使用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来添加智能电器到模拟网络中。
向网络中添加智能电器配件,请按照下面的步骤添加:
在HomeKit Accessory Simulator中,点击底部左边‘+’按钮。
从弹出菜单中选择添加智能电器(Add Accessory)
- 输入智能电器的名字和制造商。
3. 在接下来显示的Add HomeKit Accessory对话框中,输入智能电器的setup code然后点击Add。
在HomeKit Accessory Simulator,setup code显示在详情界面智能电器名称下。
关于如何编写代码来添加一个智能电器到家庭和房间请阅读Creating Homes and Adding Accessoris。
控制智能电器(配件)
在HomeKit Accessory Simulator中,你可以获得智能电器的服务,并在其他HomeKit App中设置服务的特性值来模拟控制这个智能电器,或者手动地模拟控制智能电器。
想要控制一个智能电器你需要:
在HomeKit Accessory Simulator中的智能电器列表(Accessories column)中选择一个智能电器。这个智能电器的服务和特性会被展示在详情界面。
- 操作一个特性的控件来改变它的值。
比如,为了改变一个灯泡的颜色(Hue),饱和度(Saturation)和亮度(Brightness),请滑动这个滑块。为了打开这个灯泡请选择On选项。
如果你的app展示了一个服务的特性,比如灯泡的开关状态,当你在HomeKit Accessory Simulator中改变这些特性的值时,它应当更新视图。
为了观察HomeKit数据库的变化,请阅读Observing HomeKit Database Changes。如果你想从app中通过编写代码来控制一个智能电器,请阅读Accessing Services and Characteristics。
添加桥接口
为了模拟那些不支持HomeKit Accessory Protocol协议的智能电器,需要添加一个虚拟桥接口,然后将智能电器添加到这个虚拟桥接口。配置虚拟桥接口底层的智能电器和配置其他类型的智能电器差不多。
添加一个虚拟桥接口到网络
添加一个代表这个虚拟桥接口的智能电器。
为了添加一个虚拟桥接口到网络你需要:
在HomeKit Accessory Simulator中,点击智能电器列表底部的“+”按钮。
在弹出框中选择Add 虚拟桥接口。
输入一个智能电器的名称和制造商。
- 点击完成
向虚拟桥接口添加智能电器配件
可向一个虚拟桥接口添加一个或多个智能电器。
为了向一个虚拟桥接口添加一个智能电器,需要:
在HomeKit Accessory Simulator左边的列表中,选择虚拟桥接口中的一个虚拟桥接口。
在详情页面选择Add Accessory。
输入一个智能电器名字和制造商。
- 点击完成。
想要了解虚拟桥接口中的智能电器的详细信息,请选择虚拟桥接口部分中的智能电器。如果需要的话你可以点击虚拟桥接口旁边的查看详情来查看这个虚拟桥接口的智能电器。在你添加了一个服务和特性到这些智能电器之后,如Adding Services to Accessories和Adding Characteristics to Services中描述。它们会在这个虚拟桥接口被选择之后被展示出来。
在你的App中添加虚拟桥接口到home
将虚拟桥接口和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描述。
为了测试单用户多设备环境,你应该使用同一个iCloud账户在多台设备登陆。
- 为了测试多用户使用同一家庭的智能电器,你应该在多台设备使用不同的iCloud账户登陆。
你的App应该应该可以允许一个用户邀请客人到你的家中,如Managing Users所述。
更多建议: