我的 iOS 应用程序中有 BLE 信标检测功能。这意味着如果用户打开了蓝牙和位置并且如果用户进入信标范围,系统会自动唤醒应用程序(如果它未运行(终止状态))。
这在 iOS 14 及以下版本上运行良好。昨天我将我的设备更新到 iOS 15,即使我在设置中启用了“始终”位置权限,应用程序在进入 ble beacon 区域时也不再被唤醒。
有什么想法吗?
最佳答案
我的测试表明,iOS 15 在进入信标区域时成功地将应用程序从停止状态启动到后台。
测试步骤:
在我的 iOS 14.8 手机上安装此应用:https://github.com/davidgyoung/CoreLocationRegionLaunchDemo
运行应用,授予通知和位置始终权限。
转到设置并验证位置权限是否始终可用
打开信标,验证进入通知是否到达。然后关闭信标,验证退出通知到达。
重启手机。等5分钟。打开信标,然后验证进入通知到达。关闭信标并验证退出通知是否到达。
升级到 iOS 15。
等待 5 分钟。
打开信标。验证进入通知到达。
查看屏幕截图 - 抱歉,它们很难看,但我必须先完成 XCode 13 的巨大下载,然后才能将屏幕截图直接发送到我的计算机。
关于iOS 15 在进入 BLE 信标区域时不会唤醒应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69264985/