我正在开发一个 iPhone 应用程序,当用户进入 iBeacon 区域时通知用户。
我有几个同样的问题:
来自文档:
Monitoring launches app when entered in the region of iBeacon being
monitored.
但行为是:
它仅在手机被唤醒时起作用,即当显示器打开时。
但是,当应用程序未运行且显示屏关闭时,没有任何事情发生,当显示屏打开且用户进入信标区域时,情况也是如此。
是否可以在用户进入/退出该区域时启动应用程序,即使显示屏关闭或打开,而不仅仅是在手机被唤醒时?
我检查了 iBeacon Notification when the app is not running链接,这表明它是可能的。我正在监视 iBeacon,但无法获得预期的行为。我错过了什么吗?
感谢任何帮助。
Best Answer-推荐答案 strong>
是的,您可以在后台获得进入区域的通知。只要:
- 该应用已至少打开一次
- 用户没有直接终止应用(通过退出进程,而不仅仅是关闭它)
现在了解它的行为方式更加细微。
在我的公司,我们对此进行了大量研究。事实上,我的一位同事写了一篇关于这种行为的精彩博客文章:iBeacon Monitoring in the Background and Foreground .
出乎意料的是在后台获取 didEnterRegion 需要多长时间:
Condition Max time to detect a region change
-------------------------------------------- ----------------------------------
Phone awakened,notifyEntryStateOnDisplay=YES 1 second
Phone awakened, notifyEntryStateOnDisplay=NO NEVER
UIBackgroundModes=location ON up to 15 minutes
UIBackgroundModes=location OFF up to 15 minutes
关于ios - 未运行且 iBeacon 在范围内时调用应用程序,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/21548320/
|