我知道使用iBeacon
當應用程序關閉時,我可以聽一些UUID
。 我想傾聽具體的價值特徵當應用程序關閉。聽取backgeound中的特定藍牙特徵值
所以,當應用程序是開放並連接到設備,我得到這個代表當一個新數據到達:
func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
if characteristic.uuid.uuidString == characteristicUUID {
if let str = NSString(data: characteristic.value!, encoding: String.Encoding.utf8.rawValue)
有沒有一種方法,當應用程序被關閉,以得到這個委託?所以我可以檢查並看到我正在等待的正確字符串?
我知道我通常只有在連接到設備時才能聽到此聲音,但即使沒有連接,我也想聽。
是iBeacon當應用程序關閉時,與任何BLE進行交互的唯一方法是? 其相當有限。
您可以啓用後臺藍牙中心模式,您的應用程序,你會繼續當週表示改變接收到委託方法調用,但你需要保持與周邊的連接。 – Paulw11
@ Paulw11謝謝我啓用了它們 - 但我詢問了應用程序關閉時的情況,在這種情況下,您無法保持通信打開... – Curnelious
這取決於您所說的「關閉」是什麼意思;正常狀態在後臺暫停,並按照我所述的方式工作。如果應用程序已被系統終止(例如由於內存壓力),那麼您可以選擇進入藍牙狀態恢復(請參閱Core Bluetooth編程指南),並且在看到外設或指示外設時,您的應用程序將重新啓動到後臺變化。如果您的應用已被用戶刷屏終止,那麼在用戶重新啓動之前,您的應用無法執行任何操作。 – Paulw11