设备重启后的 IOS8 iBeacon 监控

Posted

技术标签:

【中文标题】设备重启后的 IOS8 iBeacon 监控【英文标题】:IOS8 iBeacon Monitoring after device reboot 【发布时间】:2014-10-05 07:02:51 【问题描述】:

我正在开发一个带有 iBeacon 监控和测距功能的 ios 应用程序。该应用程序在安装了 IOS8 的 iPad 上运行,并且没有安装其他应用程序。带有通知的前台和后台监控效果很好。测距也很好用。但是,重新启动后,应用程序在检测到信标时永远不会收到回调。我确实启用了所需的后台模式。我为 AppDelegate 中的 didEnterRegion、didExitRegion、didDetermineState 等回调添加了本地通知。重新启动后以及存在活动信标时,这些都不会被调用。

但是,安装以不同名称重新打包的相同应用程序与原始应用程序会产生不同的结果。重新启动后大约 4 分钟,我开始收到来自两个应用程序的通知。

如果我删除了这两个应用程序之一,我最终会遇到重启后未收到回调的原始问题。请记住,两者都使用相同的代码。

我现在已经摸不着头脑了,我想知道这种行为是否可以通过只安装一个启用 iBeacon 的应用程序的全新安装 IOS 在其他地方得到确认。

【问题讨论】:

【参考方案1】:

一些想法:

    尝试使用已知的工作信标参考应用程序(如 Locate)重复您的测试。如果您在此处重现该问题,则可能是操作系统的硬件问题。

    在重新启动前关闭信标,在重新启动大约四分钟后将其重新打开,然后等待长达 15 分钟以让您的应用检测到。根据 iPad 机型的使用年限,后台检测速度可能会很慢。

    如果 Locate 可以正常工作,但您的应用在 15 分钟后仍无法正常工作,请发布重现该问题的代码的简化版本。

【讨论】:

全新安装 IOS8。我只安装了Locate。重新启动后,等待 5 分钟,打开信标,等待 30 分钟。没有通知让我知道进入/退出某个区域。然后我使用 Locate 安装了我的应用程序。重新启动后,等待 5 分钟,打开信标。我确实收到了来自两个应用程序的通知。我在原始帖子中没有提到的是,我已经使用网络上的多个信标演示测试了这个过程,包括来自半径网络的其他信标。我能找到的结果都是一样的。

以上是关于设备重启后的 IOS8 iBeacon 监控的主要内容,如果未能解决你的问题,请参考以下文章

自 Xcode 6.3 以来可能出现的新 iBeacon 监控问题

iOS 多久监控一次 iBeacons?

IBE甲级办公楼楼宇自控系统监控内容有哪些?

手机重启后 iBeacon 监控/测距

Estimote iBeacons 监控无法在 iOS 9.0.2 上运行

在蓝牙重置之前,蓝牙设备在测距和监控 iBeacons 后无法连接