为了测试区域监控,我添加了一些在应用启动时触发的UILocalNotifications 。我还为我用来测试的应用程序启用了后台模式与 BLE 附件通信。
现在,我观察到它并不总是以相同的时间范围启动(因为苹果的文档已经预计会有一定的延迟以避免误报)。但是我正在尝试测试整个 iBeacon 区域监控的可靠性,因此我起草了一些基本的测试用例:
情况1:
- 手机已关闭且信标已打开(应用程序未运行)。
- 手机已开机
预期结果:我希望 iOS 能够唤醒应用程序。
实际结果:这并不总是立即发生。它在很长一段时间(例如20分钟)后才会发生。这个有官方上限吗?
案例二:
- 电话已打开且信标已关闭(应用程序未运行)。
- 信标已开启
预期结果:我希望 iOS 能够唤醒应用程序。
实际结果:通常确实会发生。
案例3:
- 电话已打开且信标已关闭(应用程序未运行)。
- 信标已开启
- 等到应用程序被唤醒(后台运行)。
- 关闭信标。
- 等到区域退出。
- 杀死应用程序(在后台运行时)。
- 打开信标。
- 等到 App 被唤醒(后台运行)。
上述流程通常有效。但是我注意到当我们等到 5 发生时它运行良好(退出区域并且该事件被后台运行的应用程序检测到)。
有什么建议或进一步的用例吗?我特别在案例 1 中挣扎。