如果你沒有智能電器(智能配件),你可以使用 HomeKit Accessroy Simulator 來模擬 home 中的智能電器。每個(gè)模擬配件都擁有服務(wù)和特性,你可以從你的 App 當(dāng)中控制它。你的 App 在 HomeKit 數(shù)據(jù)庫中創(chuàng)建對象和關(guān)系。它可以創(chuàng)建 home 布局,可以添加新的配件到模擬的 home 環(huán)境當(dāng)中,最后向 home 中的每個(gè)房間添加智能配件。然后,你的app就能控制這些在 HomeKit Accessory Simulator 展示的模擬智能配件了。為了使用 HomeKit Accessory Simulator,請?jiān)趇OS模擬器中運(yùn)行你的應(yīng)用程序,或者使用Xcode在iOS設(shè)備上運(yùn)行應(yīng)用程序。
HomeKit Accessory Simulator 是一個(gè)附加的開發(fā)者工具,不過并沒有安裝在 Xcode 當(dāng)中。請按照 Download HomeKit Accessory Simulator 中所述的安裝 HomeKit Accessory Simulator。
使用HomeKit Accessory Simulator來添加智能電器到模擬網(wǎng)絡(luò)中。
向網(wǎng)絡(luò)中添加智能電器配件,請按照下面的步驟添加:
如果想刪除一個(gè)智能電器,請選擇一個(gè)智能電器然后點(diǎn)擊鍵盤上的Delete鍵。
一個(gè)智能電器需要一項(xiàng)服務(wù)和特性,你可以從 App 控制它。從預(yù)定義了服務(wù)列表中選擇一項(xiàng)服務(wù),并自定義特性。
按照下面步驟向智能電器中添加服務(wù)
1.在 HomeKit Accessory Simulator 中,選擇 Accessories 列中的某個(gè)配件。
該配件的服務(wù)信息會(huì)展示在一個(gè)詳情界面中。
注意:所有智能電器都有一個(gè)Accessory Information,顯示在所有其他服務(wù)的下方。你可以向這個(gè)Accessory Information服務(wù)添加特性,但你不能刪除默認(rèn)的特性。
2.點(diǎn)擊添加服務(wù)(Add Service),并從彈出視圖中選擇一個(gè)服務(wù)類型。
新添加的服務(wù)會(huì)在右邊詳細(xì)顯示。HomeKit Accessory Simulator 為每種服務(wù)創(chuàng)建通用的特性。比如一個(gè)燈光服務(wù)的默認(rèn)特性為色彩(Hue),飽和度(Saturation),亮度(Brightness)和開關(guān)。(開關(guān)特性和電源狀態(tài)特性是一樣的,正如 Accessing Values of Characteristics 中描述的那樣。)一些特性是強(qiáng)制性的有一些也是可選擇的。比如,開關(guān)特性就是強(qiáng)制性的,而色彩,飽和度,亮度這些特性都是可選擇的。
你可以向服務(wù)中添加預(yù)定義的特性,或者自定義的特性。每種特性你都只能添加一個(gè)。
按照下面的步驟向服務(wù)中添加特性:
點(diǎn)擊特性右邊的減號來刪除一個(gè)特性。如果特性右邊并沒有減號顯示,這說明這個(gè)特性對這個(gè)服務(wù)來說是必須的。比如,你可以刪除電燈服務(wù)中的色彩(Hue),飽和度(Saturation)和亮度(Brightness),但是你不可以刪除開關(guān)特性。
在你通過 HomeKit Accessory Simulator 創(chuàng)建了一個(gè)智能電器后,運(yùn)行你的App然后添加一個(gè)新的智能電器到你的家庭。
如何配對家庭中的智能電器:
在 Xcode 中,點(diǎn)擊 Run 并調(diào)用 addAccessory:completionHandler:方法(如 Adding Accessories to Homes and Rooms中描述的那樣).
在 HomeKit Accessory Simulator,setup code 顯示在詳情界面智能電器名稱下。
關(guān)于如何編寫代碼來添加一個(gè)智能電器到家庭和房間請閱讀Creating Homes and Adding Accessoris。
在HomeKit Accessory Simulator中,你可以獲得智能電器的服務(wù),并在其他HomeKit App中設(shè)置服務(wù)的特性值來模擬控制這個(gè)智能電器,或者手動(dòng)地模擬控制智能電器。
想要控制一個(gè)智能電器你需要:
比如,為了改變一個(gè)燈泡的顏色(Hue),飽和度(Saturation)和亮度(Brightness),請滑動(dòng)這個(gè)滑塊。為了打開這個(gè)燈泡請選擇 On 選項(xiàng)。
如果你的 App 展示了一個(gè)服務(wù)的特性,比如燈泡的開關(guān)狀態(tài),當(dāng)你在HomeKit Accessory Simulator中改變這些特性的值時(shí),它應(yīng)當(dāng)更新視圖。
為了觀察HomeKit數(shù)據(jù)庫的變化,請閱讀Observing HomeKit Database Changes。如果你想從 App 中通過編寫代碼來控制一個(gè)智能電器,請閱讀Accessing Services and Characteristics。
為了模擬那些不支持 HomeKit Accessory Protocol 協(xié)議的智能電器,需要添加一個(gè)虛擬橋接口,然后將智能電器添加到這個(gè)虛擬橋接口。配置虛擬橋接口底層的智能電器和配置其他類型的智能電器差不多。
添加一個(gè)虛擬橋接口到網(wǎng)絡(luò)
添加一個(gè)代表這個(gè)虛擬橋接口的智能電器。
為了添加一個(gè)虛擬橋接口到網(wǎng)絡(luò)你需要:
可向一個(gè)虛擬橋接口添加一個(gè)或多個(gè)智能電器。
為了向一個(gè)虛擬橋接口添加一個(gè)智能電器,需要:
想要了解虛擬橋接口中的智能電器的詳細(xì)信息,請選擇虛擬橋接口部分中的智能電器。如果需要的話你可以點(diǎn)擊虛擬橋接口旁邊的查看詳情來查看這個(gè)虛擬橋接口的智能電器。在你添加了一個(gè)服務(wù)和特性到這些智能電器之后,如Adding Services to Accessories和Adding Characteristics to Services中描述。它們會(huì)在這個(gè)虛擬橋接口被選擇之后被展示出來。
將虛擬橋接口和home匹配的過程和將一個(gè)智能電器配置到一個(gè)home的過程是一樣的,如 Adding Accessories to a Home in Your App 描述的。在虛擬橋接口底層的智能電器配件也一樣被加入到了 home,如 Adding Bridges to Homes and Rooms 所描述。
如何控制虛擬橋接口底層的智能電器和直接控制智能電器的步驟一致,如 Controlling Accessories in HomeKit Accessory Simulator 中描述,除了你直接選擇虛擬橋接口下的智能電器之外。
在iOS模擬器中你不能測試分享 HomeKit 數(shù)據(jù)庫到多個(gè) iOS 設(shè)備和用戶。你應(yīng)該安裝你的App到多臺(tái)iOS設(shè)備上,在這些設(shè)備中輸入 iCloud 證書,然后運(yùn)行你的 App。或者,使用 ad hoc 授權(quán)來在多臺(tái)注冊設(shè)備中測試你的app,如 Distributing Your App Using Ad Hoc Provisioning in App Distribution Guide 描述。
你的 App 應(yīng)該應(yīng)該可以允許一個(gè)用戶邀請客人到你的家中,如 Managing Users 所述。
更多建議: