我正在实现基于通知的ibeacon应用程序。我正在尝试做的和视频(https://www.youtube.com/watch?v=SrsHBjzt2E8)完全一样。用户从Appstore下载应用程序,看一看,然后在后台推送它。假设用户在家里做所有的事情。后来,用户在应用程序处于后台时安装的ibeacon商店里走来走去,我期望的是应用程序自动检测ibeacon设备并得到通知。然而,区域测距和监控应该首先检测到前台附近的信标设备。这是iOS7目前的限制。
有没有人有经验知道如何检测ibeacon设备,而不是让用户将应用程序带到前台并单击按钮开始测距和监控?
谢谢
发布于 2014-05-02 02:04:16
您可以使用CoreLocation信标监视API在后台检测信标--它的工作方式与前台相同,并且是自动的。你不需要做任何特殊的配置来设置它。
当你的应用程序第一次运行并设置监控区域时,即使你的手机重启或你的应用程序不再处于前台,CoreLocation也会记住它。然后,当您进入或退出信标区域时,您的应用程序将在后台启动大约5秒,并且它将获得对didDetermineState: forRegion:
方法的回调。
你甚至可以在后台进行这五秒的测距,之后iOS会再次挂起你的应用。这五秒钟的窗口通常用于向用户发送本地通知,因此如果需要,用户可以手势将应用程序启动到前台。这允许您告诉用户他们在一个兴趣点附近(由信标附近触发),然后让他们通过点击本地通知来选择获取更多信息或与应用程序交互。
请注意,后台监控回调不是即时的。可能需要15分钟才能在后台收到通知。See here for details.
https://stackoverflow.com/questions/23412517
复制相似问题