[英]iOS BLE device paired while app is in background or killed or suspend
我可以在應用程序打開時將BLE設備與我的應用程序配對/連接。 但是當我的應用程序進入后台/掛起模式時,我無法保持連接狀態。 是否可以使連接保持活動狀態並收到有關設備的斷開連接事件的通知?
當然是啦。
首先,您可以掃描外圍設備並在后台連接它們,只要它們公開至少一項服務即可(在啟動scan命令時必須指出此服務)。 您必須在目標功能中指定該功能,只需選中“ Uses Bluetooth LE accessories
。
要檢測藍牙斷開連接,您僅需要實現CBCentralManagerDelegate
方法func centralManager(CBCentralManager, didDisconnectPeripheral: CBPeripheral, error: Error?)
。
只要您的外圍設備不需要保持活動信號 ,連接就會在后台保持活動狀態 ;如果您需要在后台進行某些操作,則需要“ Uses Bluetooth LE accessories
檢查。
為了簡化使用BLE的工作,我建議您簽出該庫 。
在懸浮/后台模式下支持Core-Bluetooth啟用您的應用程序以支持后台。
轉到您的項目->目標->功能->啟用后台模式->選擇使用Bluetooth LE配件。
但是iOS系統可能隨時殺死您的后台應用程序,以釋放前台應用程序的內存。
要獲取已連接/已斷開事件,請使用以下代碼行。
central.connect(peripheral, options: [CBConnectPeripheralOptionNotifyOnConnectionKey:true, CBConnectPeripheralOptionNotifyOnDisconnectionKey: true])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.