iPhone 休眠时无法检测到 Beacon 设备。(进入后台)

Posted

技术标签:

【中文标题】iPhone 休眠时无法检测到 Beacon 设备。(进入后台)【英文标题】:Unable to detect Beacon device when iPhone sleeps.(goes background) 【发布时间】:2019-12-09 09:41:08 【问题描述】:

我正在尝试从 iPhone 上的应用程序中检测 iBeacon 设备。

它在运行时检测到 iBeacon 设备,但是当我锁定 iPhone 时, 它无法检测(丢失)相同的 iBeacon 设备。 (接近度:未知 RSSI:0 精度:-1.0) 它可以在相同的条件下将其他设备检测为android(App:Locate Beacon)。

谁能帮我找出原因和解决办法?

注意:

iPhone iBeacon 设备失败 iPhone Android (App:Locate Beacon/iBeacon) 好的

Android:AltBeacon 对同一设备也有好处。

Android iBeacon 设备正常

【问题讨论】:

【参考方案1】:

ios 应用程序必须动态请求并获得用户的许可才能“始终”访问位置数据,以便在后台检测信标。从 iOS 13 开始,流程发生了变化,操作系统使得从用户那里获得“始终”权限变得更加困难。

在此处阅读更多信息:http://www.davidgyoungtech.com/2019/10/18/permission-denied

要验证您的应用是否已获得所需的权限,请转到“设置”->“应用名称”->“位置”,查看它是否具有“始终”访问位置数据的权限。

【讨论】:

感谢您的所有帮助。但设置是“始终”。【参考方案2】:

如果您将 iOS 设备用作 iBeacon 发射器,如果应用在屏幕上不可见,则传输将不再起作用。 iPhone 应用程序在不在前台时无法发出信标广告。

【讨论】:

【参考方案3】:

我也有同样的问题。 过去苹果开发者论坛上的一个类似帖子一直没有得到解决。 https://forums.developer.apple.com/thread/115996

【讨论】:

感谢您的帮助。

以上是关于iPhone 休眠时无法检测到 Beacon 设备。(进入后台)的主要内容,如果未能解决你的问题,请参考以下文章

iPhone4S 在 Beacon 检测中的奇怪行为

在 iOS 8 Beacon 中未检测到

ZigBee网络信标(Beacon)和非信标(Non-beacon)两种工作模式

使用 android-beacon-library 检测蓝牙设备

使用android-beacon-library检测蓝牙设备

如何在后台将检测到的 Beacon 信息的详细信息发送到服务器?