iOS CoreBluetooth can';无法在后台接收通知

iOS CoreBluetooth can';无法在后台接收通知,ios,swift,background,core-bluetooth,Ios,Swift,Background,Core Bluetooth,我正在编写一个应用程序,它应该能够连接到一个Ble设备并接收其中一个特性的更新 我能够发现我想要连接的设备,连接到它,并注册我感兴趣的特性的通知 每次应用程序收到此特性的更新时,它都会通过http调用将值发送到服务器 前台一切正常,但只要我将应用程序设置为后台,它就会停止接收更新。我补充说 <key>UIBackgroundModes</key> <array> <string>bluetooth-central</string>

我正在编写一个应用程序,它应该能够连接到一个Ble设备并接收其中一个特性的更新

我能够发现我想要连接的设备,连接到它,并注册我感兴趣的特性的通知

每次应用程序收到此特性的更新时,它都会通过http调用将值发送到服务器

前台一切正常,但只要我将应用程序设置为后台,它就会停止接收更新。我补充说

<key>UIBackgroundModes</key>
<array>
    <string>bluetooth-central</string>
    <string>bluetooth-peripheral</string>
</array>
ui背景模式
蓝牙中心
蓝牙外围设备
到我的plist文件。
我正在运行iOS 9.3的iPhone6 plus上进行测试。使用Xcode 8和swift 2.3开发。Ble设备每10秒发送一次通知,但应用程序不会在bakground中处理通知。

您需要在Project/capabilities中为蓝牙添加所需的后台模式功能
由于您能够在前台使用蓝牙,我相信您已经添加了必要的权限

您需要在项目/功能中添加蓝牙所需的后台模式功能 既然你能在前台使用蓝牙,我相信你已经增加了必要的权利

我发现了这个问题

我正在实例化这个对象,负责我的AppDelegate中的所有扫描、连接、读取等。 我一把它移到ViewController上,它就开始在后台正常工作。不知道为什么。

我发现了问题

我正在实例化这个对象,负责我的AppDelegate中的所有扫描、连接、读取等。 我一把它移到ViewController上,它就开始在后台正常工作。不知道为什么