簡體   English   中英

如何使用標識符連接外圍設備/ BLE設備?

[英]How to connect peripheral/ BLE device by using identifier?

我想使用標識符連接外圍設備。 我可以做嗎?

centralManager?.connect(peripheral, options: nil)

我在一個ViewController掃描設備,然后在另一個ViewController連接設備。

以下是我的要求:

當我掃描設備並下次保存時,該設備可以顯示在主屏幕中並直接連接。 因此,為此,我使用單例類從一個視圖訪問另一視圖的外圍數據。 但是它總是初始化為空。 所以我想使用標識符連接外圍設備。 我不知道我們在哪里存儲[CBPeripheral]並在需要時訪問它。

我想使用標識符連接外圍設備。 我可以做嗎?

簡短的回答:不,您不能這樣做。

長答案:

請參閱蘋果官方文件。

沒有用於與標識符連接的規定或方法,但是,Apple規定使用標識符來檢索外圍設備。

讓我們討論其他一些選擇

CBPeripheral不實現NSCoding。 因此,幾乎不可能將BLEPeripheral對象存儲到NSUserDefaults或任何其他容器中。

最好的解決方案是存儲CBPeripheral的屬性,例如名稱或標識符等。

UserDefaults.standard.set(Device_name, forKey: "Device_name")
UserDefaults.standard.set(Device_Identifier forKey: "Device_Identifier")

通過使用retrievePeripherals(withIdentifiers:)您可以再次獲取BLEPeripheral值。 然后您可以使用該對象直接連接

這是文檔

retrievePeripherals(withIdentifiers :)

通過標識符返回已知外圍設備的列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM