2014-10-11 37 views
0

我希望我的應用發送「不可連接」廣告嗎?我們可以使用Core-Bluetooth模擬「不可連接」的外設

當我看到startAdvertsing方法時,它表示只支持CBAdvertisementDataLocalNameKeyCBAdvertisementDataServiceUUIDsKey

這是否意味着CBAdvertisementDataIsConnectable不能設置爲NO,模擬iBeacon

如果有一些其他方法來模擬「不可拼接」的外設,請告訴我。

advertisementData - 一個可選字典,其中包含要公佈的數據。 advertisementData字典的可能的密鑰在CBCentralManagerDelegate協議參考中詳述。也就是說,外圍管理器對象僅支持兩個密鑰:CBAdvertisementDataLocalNameKeyCBAdvertisementDataServiceUUIDsKey

+0

您可以使用CoreLocation框架將iOS設備配置爲iBeacon – Paulw11 2014-10-11 20:05:23

回答

0

我認爲術語「可連接」可能會引起一些問題。 「連接」是關於中央(即客戶)查詢您的服務所暴露的特徵(即屬性)。

如文檔所述,您提到的具體密鑰不受支持(目前),但我無法理解爲什麼它的可用性對您是必要的。

如果您沒有任何與您的服務相關的特徵,那麼將沒有任何連接。正確?實際上,如果您從通告中跳過CBAdvertisementDataServiceUUIDsKey密鑰,那麼外圍設備似乎沒有服務,因此沒有要查詢的特徵(通過連接)。

+0

實際上,事實並非如此。在藍牙規範中定義了幾種類型的廣告數據包。 ADV_NONCONN_IND是一個「不可連接的無向廣告」數據包,我認爲這就是問題所在。 – 2017-07-21 07:33:32

+0

是的 - 當時它不支持(在ios核心藍牙框架中)。我最近沒有碰它,但如果支持,你可以添加一個代碼示例 – vpathak 2017-07-24 02:02:43