在 iOS10 中,即使 iPhone 肯定在信标旁边,screen-off 也会调用 DidExitRegion

Posted

技术标签:

【中文标题】在 iOS10 中,即使 iPhone 肯定在信标旁边,screen-off 也会调用 DidExitRegion【英文标题】:in iOS10, screen-off will call the DidExitRegion even if the iPhone is definitely beside the beacon 【发布时间】:2016-09-18 10:43:48 【问题描述】:

当屏幕打开时(无论是锁定还是解锁),DidEnterRegion 和 DidExitRegion 都能正常工作。

但是,当屏幕关闭时,即使 Beacon 和 iPhone 没有任何变化,应用程序也会在几秒钟内收到 DidExitRegion 调用,这很奇怪。

然而,当屏幕开启时(通过按home键或电源键,或一些通知来点亮屏幕,无需解锁),应用程序会立即收到DidEnterRegion调用。

有人发现并可以提供帮助吗?谢谢。

【问题讨论】:

这听起来确实像是 ios 10 中引入的一个新错误。您是否有一个 iOS 9 设备来运行相同的应用程序,以验证该问题在较早的操作系统版本上不会发生? iOS 9 完美运行。顺便说一句,一些带有 iOS 10 的 iPhone 可以正常工作。 iPhone 6s 比 6 好... 查看我关于部署目标的更新答案。我很好奇这是否对你有帮助。 【参考方案1】:

编辑:有许多关于 iOS 10 上的信标检测问题的轶事报告,一些用户报告 将 XCode 中的应用部署目标设置为 9.x 将解决问题. 详情请看这里:https://***.com/a/39641127/1461050

退出事件听起来像是蓝牙堆栈处于错误状态。您可以尝试按照我在此处的相关答案中的描述重置它:https://***.com/a/39572251/1461050

【讨论】:

以上是关于在 iOS10 中,即使 iPhone 肯定在信标旁边,screen-off 也会调用 DidExitRegion的主要内容,如果未能解决你的问题,请参考以下文章

信标接近检测器在iOS swift中不起作用

iOS 7.1 iPod 第 5 代请求信标状态和测距未发生

可以检测iOS设备生成的后台信标源

iOS 15 在进入 BLE 信标区域时不会唤醒应用

即使应用程序在同一个地方,信标的接近范围也会来回变化

来自蓝牙信标的信号强度不一致 - Kontakt.io