tag*_*bek 10 bluetooth background-process ios core-bluetooth bluetooth-lowenergy
我有一个使用蓝牙4.0 LE的应用程序.该应用程序允许设备充当中央和外围设备.
我希望应用程序在后台运行.我已经在info.plist中包含了带有"bluetooth-central"和"bluetooth-peripheral"的UIBackgroundModes.
我正在两个启用了蓝牙4.0 LE的设备上运行该应用程序.
当两个设备都在前台运行时,一切都运行良好,信息双向传递.
当一台设备在前台运行而另一台设备在后台运行时,在后台运行的设备可以扫描和通告,但无法发现在后台运行的其他设备.在前台运行的设备能够发现并连接到后台运行的设备.
通过Apple的核心蓝牙编程指南阅读后,我知道可以连接到另一台设备并以两种方式共享信息.
我可以根据要求发布更多信息.谢谢.
当外围应用程序背景化时,广告服务被推送到"溢出区域",并且根本不公布外围设备名称.另外,提高了广告间隔.理论上,iOS BLE堆栈应该处理这种情况并请求溢出区域数据,但它不会这样做.同时,后台中央的扫描速度也会降低,此外还需要特定的服务UUID才能工作.(您无法在后台扫描nil服务)
因此,扫描背景中央的背景设备是不可能的.
这是一个错误或功能,只有Apple知道.打开雷达告诉他们你的问题.我们越多人这样做,我们获得回应的机会就越大.
| 归档时间: |
|
| 查看次数: |
2392 次 |
| 最近记录: |