ios – CoreBluetooth中央管理器无法在后台发现外设

ios – CoreBluetooth中央管理器无法在后台发现外设,第1张

概述我有一个应用程序正在使用蓝牙4.0 LE.该应用程序允许设备充当中央和外围设备. 我希望应用程序在后台运行.我已经在info.plist中包含了“蓝牙中心”和“蓝牙外设”的UIBackgroundModes. 我正在运行蓝牙4.0 LE启用的两种不同设备上的应用程序. 当两个设备在前台运行时,一切都可以正常工作,并且信息通过两种方式. 当一个设备在前台运行,另一个设备在后台运行时,后台运行的设备能 我有一个应用程序正在使用蓝牙4.0 LE.该应用程序允许设备充当中央和外围设备.

我希望应用程序在后台运行.我已经在info.pList中包含了“蓝牙中心”和“蓝牙外设”的uibackgroundmodes.

我正在运行蓝牙4.0 LE启用的两种不同设备上的应用程序.

当两个设备在前台运行时,一切都可以正常工作,并且信息通过两种方式.

当一个设备在前台运行,另一个设备在后台运行时,后台运行的设备能够进行扫描和通告,但无法发现在后台运行的其他设备.在前台运行的设备能够发现并连接到在后台运行的设备.

阅读Apple’s Core Bluetooth Programming Guide后,我知道连接到另一台设备并共享信息.

我可以根据要求发布更多信息.谢谢.

解决方法 当外设应用程序背景时,通告的服务被推送到“溢出区域”,并且外设名称根本不被通告.另外,广告间隔增加.理论上,iOS BLE堆栈应该处理这种情况,并请求溢出区域数据,但是它不会这样做.同时,背景中央的扫描也减慢了,另外它需要特定的服务UUID才能工作. (您无法使用nil服务在后台进行扫描)

因此,无法在背景中央扫描背景设备.

无论是这个BUG还是功能,只有苹果才知道.打开一个雷达,告诉他们你的问题.我们越多的人做这个,我们得到更好的机会得到回应.

总结

以上是内存溢出为你收集整理的ios – CoreBluetooth中央管理器无法在后台发现外设全部内容,希望文章能够帮你解决ios – CoreBluetooth中央管理器无法在后台发现外设所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1096209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存