如果你沒有智能電器(智能配件),你可以使用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](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/EnablingHomeKit/EnablingHomeKit.html#//apple_ref/doc/uid/TP40015050-CH2-SW3)中所述的安裝HomeKit Accessory Simulator。
**添加智能電器(配件)**
使用HomeKit Accessory Simulator來添加智能電器到模擬網絡中。
向網絡中添加智能電器配件,請按照下面的步驟添加:
1. 在HomeKit Accessory Simulator中,點擊底部左邊‘+’按鈕。
2. 從彈出菜單中選擇添加智能電器(Add Accessory)
3. 輸入智能電器的名字和制造商。

4\. ?點擊完成
如果想刪除一個智能電器,請選擇一個智能電器然后點擊鍵盤上的Delete鍵。
**向智能電器(配件)中添加服務**
一個智能電器需要一項服務和特性,你可以從app控制它。從預定義了服務列表中選擇一項服務,并自定義特性。
按照下面步驟向智能電器中添加服務
1. 在HomeKit Accessory Simulator中,選擇Accessories列中的某個配件。
該配件的服務信息會展示在一個詳情界面中。

注意:所有智能電器都有一個Accessory Information,顯示在所有其他服務的下方。你可以向這個Accessory Information服務添加特性,但你不能刪除默認的特性。
2\. ?點擊添加服務(Add Service),并從彈出視圖中選擇一個服務類型。
新添加的服務會在右邊詳細顯示。HomeKit Accessory Simulator為每種服務創建通用的特性。比如一個燈光服務的默認特性為色彩(Hue),飽和度(Saturation),亮度(Brightness)和開關。(開關特性和電源狀態特性是一樣的,正如[?Accessing Values of Characteristics](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/AccessingServicesandTheirCharacteristics/AccessingServicesandTheirCharacteristics.html#//apple_ref/doc/uid/TP40015050-CH6-SW3)中描述的那樣。)一些特性是強制性的有一些也是可選擇的。比如,開關特性就是強制性的,而色彩,飽和度,亮度這些特性都是可選擇的。

**向服務中添加特性**
你可以向服務中添加預定義的特性,或者自定義的特性。每種特性你都只能添加一個。
按照下面的步驟向服務中添加特性:
1. 在HomeKit Accessory Simulator中,服務詳情視圖,點擊添加特性(Add Characteristic)
2. 在特性類型菜單中,選擇一個類型或者自定義類型。
3. 在其他文本框中輸入此特性的其他信息,并點擊完成(Finish).新添加的特性會在詳細視圖展示出來。

點擊特性右邊的減號來刪除一個特性。如果特性右邊并沒有減號顯示,這說明這個特性對這個服務來說是必須的。比如,你可以刪除電燈服務中的色彩(Hue),飽和度(Saturation)和亮度(Brightness),但是你不可以刪除開關特性。
**通過你的app向家庭中添加智能電器(配件)**
在你通過HomeKit Accessory Simulator創建了一個智能電器后,運行你的App然后添加一個新的智能電器到你的家庭。
如何配對家庭中的智能電器:
1\. ?在Xcode中,點擊Run并調用[addAccessory:completionHandler:](https://developer.apple.com/library/ios/documentation/HomeKit/Reference/HMHome_Class/index.html#//apple_ref/occ/instm/HMHome/addAccessory:completionHandler:)方法(如[Adding Accessories to Homes and Rooms](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/WritingtotheHomeKitDatabase/WritingtotheHomeKitDatabase.html#//apple_ref/doc/uid/TP40015050-CH4-SW5)中描述的那樣).
2\. ?如果彈出了一個Add HomeKit Accessory對話框聲明這個智能電器未被信任(這在HomeKit Accessory Simulator中是被允許的),不用管它,點擊Add Anyway。

3\. ?在接下來顯示的Add HomeKit Accessory對話框中,輸入智能電器的setup code然后點擊Add。
在HomeKit Accessory Simulator,setup code顯示在詳情界面智能電器名稱下。

關于如何編寫代碼來添加一個智能電器到家庭和房間請閱讀[Creating Homes and Adding Accessoris](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/WritingtotheHomeKitDatabase/WritingtotheHomeKitDatabase.html#//apple_ref/doc/uid/TP40015050-CH4-SW1)。
**控制智能電器(配件)**
在HomeKit Accessory Simulator中,你可以獲得智能電器的服務,并在其他HomeKit App中設置服務的特性值來模擬控制這個智能電器,或者手動地模擬控制智能電器。
想要控制一個智能電器你需要:
1. 在HomeKit Accessory Simulator中的智能電器列表(Accessories column)中選擇一個智能電器。這個智能電器的服務和特性會被展示在詳情界面。
2. 操作一個特性的控件來改變它的值。
比如,為了改變一個燈泡的顏色(Hue),飽和度(Saturation)和亮度(Brightness),請滑動這個滑塊。為了打開這個燈泡請選擇On選項。

如果你的app展示了一個服務的特性,比如燈泡的開關狀態,當你在HomeKit Accessory Simulator中改變這些特性的值時,它應當更新視圖。
為了觀察HomeKit數據庫的變化,請閱讀[Observing HomeKit Database Changes](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/RespondingtoHomeKitDatabaseChanges/RespondingtoHomeKitDatabaseChanges.html#//apple_ref/doc/uid/TP40015050-CH5-SW2)。如果你想從app中通過編寫代碼來控制一個智能電器,請閱讀[Accessing Services and Characteristics](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/AccessingServicesandTheirCharacteristics/AccessingServicesandTheirCharacteristics.html#//apple_ref/doc/uid/TP40015050-CH6-SW1)。
**添加橋接口**
為了模擬那些不支持HomeKit Accessory Protocol協議的智能電器,需要添加一個虛擬橋接口,然后將智能電器添加到這個虛擬橋接口。配置虛擬橋接口底層的智能電器和配置其他類型的智能電器差不多。
添加一個虛擬橋接口到網絡
添加一個代表這個虛擬橋接口的智能電器。
為了添加一個虛擬橋接口到網絡你需要:
1. 在HomeKit Accessory Simulator中,點擊智能電器列表底部的“+”按鈕。
2. 在彈出框中選擇Add 虛擬橋接口。
3. 輸入一個智能電器的名稱和制造商。

4. 點擊完成
向虛擬橋接口添加智能電器配件
可向一個虛擬橋接口添加一個或多個智能電器。
為了向一個虛擬橋接口添加一個智能電器,需要:
1. 在HomeKit Accessory Simulator左邊的列表中,選擇虛擬橋接口中的一個虛擬橋接口。
2. 在詳情頁面選擇Add Accessory。
3. 輸入一個智能電器名字和制造商。
4. 點擊完成。
想要了解虛擬橋接口中的智能電器的詳細信息,請選擇虛擬橋接口部分中的智能電器。如果需要的話你可以點擊虛擬橋接口旁邊的查看詳情來查看這個虛擬橋接口的智能電器。在你添加了一個服務和特性到這些智能電器之后,如[Adding Services to Accessories](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/TestingYourHomeKitApp/TestingYourHomeKitApp.html#//apple_ref/doc/uid/TP40015050-CH7-SW3)和[Adding Characteristics to Services](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/TestingYourHomeKitApp/TestingYourHomeKitApp.html#//apple_ref/doc/uid/TP40015050-CH7-SW9)中描述。它們會在這個虛擬橋接口被選擇之后被展示出來。

**在你的App中添加虛擬橋接口到home**
將虛擬橋接口和home匹配的過程和將一個智能電器配置到一個home的過程是一樣的,如[Adding Accessories to a Home in Your App](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/TestingYourHomeKitApp/TestingYourHomeKitApp.html#//apple_ref/doc/uid/TP40015050-CH7-SW4)描述的。在虛擬橋接口底層的智能電器配件也一樣被加入到了home,如?[Adding Bridges to Homes and Rooms](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/WritingtotheHomeKitDatabase/WritingtotheHomeKitDatabase.html#//apple_ref/doc/uid/TP40015050-CH4-SW9)所描述。
**控制虛擬橋接口底層的智能電器**
如何控制虛擬橋接口底層的智能電器和直接控制智能電器的步驟一致,如[Controlling Accessories in HomeKit Accessory Simulator](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/TestingYourHomeKitApp/TestingYourHomeKitApp.html#//apple_ref/doc/uid/TP40015050-CH7-SW5)中描述,除了你直接選擇虛擬橋接口下的智能電器之外。
**在多設備和多用戶環境中測試**
在iOS模擬器中你不能測試分享HomeKit數據庫到多個iOS設備和用戶。你應該安裝你的App到多臺iOS設備上,在這些設備中輸入iCloud證書,然后運行你的App。或者,使用ad hoc授權來在多臺注冊設備中測試你的app,如[Distributing Your App Using Ad Hoc Provisioning in App Distribution Guide](https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html#//apple_ref/doc/uid/TP40012582-CH8-SW4)描述。
1. 為了測試單用戶多設備環境,你應該使用同一個iCloud賬戶在多臺設備登陸。
2. 為了測試多用戶使用同一家庭的智能電器,你應該在多臺設備使用不同的iCloud賬戶登陸。
你的App應該應該可以允許一個用戶邀請客人到你的家中,如[Managing Users](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/ManagingUsers/ManagingUsers.html#//apple_ref/doc/uid/TP40015050-CH9-SW1)所述。