我知道使用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