我希望应用程序在后台运行.我已经在info.pList中包含了“蓝牙中心”和“蓝牙外设”的uibackgroundmodes.
我正在运行蓝牙4.0 LE启用的两种不同设备上的应用程序.
当两个设备在前台运行时,一切都可以正常工作,并且信息通过两种方式.
当一个设备在前台运行,另一个设备在后台运行时,后台运行的设备能够进行扫描和通告,但无法发现在后台运行的其他设备.在前台运行的设备能够发现并连接到在后台运行的设备.
阅读Apple’s Core Bluetooth Programming Guide后,我知道连接到另一台设备并共享信息.
我可以根据要求发布更多信息.谢谢.
解决方法 当外设应用程序背景时,通告的服务被推送到“溢出区域”,并且外设名称根本不被通告.另外,广告间隔增加.理论上,iOS BLE堆栈应该处理这种情况,并请求溢出区域数据,但是它不会这样做.同时,背景中央的扫描也减慢了,另外它需要特定的服务UUID才能工作. (您无法使用nil服务在后台进行扫描)因此,无法在背景中央扫描背景设备.
无论是这个BUG还是功能,只有苹果才知道.打开一个雷达,告诉他们你的问题.我们越多的人做这个,我们得到更好的机会得到回应.
总结以上是内存溢出为你收集整理的ios – CoreBluetooth中央管理器无法在后台发现外设全部内容,希望文章能够帮你解决ios – CoreBluetooth中央管理器无法在后台发现外设所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)