簡體   English   中英

當應用程序在后台或被殺死或掛起時,iOS BLE設備已配對

[英]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])

對於后台應用程序有限制。 並非所有功能都可以在后台使用。 然后,您使用不合理的后台功能將應用程序發送給審核,您將失敗。

  • 在后台播放用戶可聽內容的應用程序,例如音樂播放器應用程序
  • 在后台錄制音頻內容的應用
  • 始終讓用戶了解其位置的應用程序,例如導航應用程序
  • 支持互聯網協議語音(VoIP)的應用
  • 需要定期下載和處理新內容的應用
  • 從外部配件接收定期更新的應用

在這里您將找到更多描述。 可能是您的情況是“充當藍牙LE附件”模式的“從外部附件接收定期更新的應用”。

Google中,您還將找到很多信息。

暫無
暫無

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

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