我有一个iOS应用程序(在iphone上),当ibeacon(服务器)在范围内时会触发。只要应用程序在后台或前台运行,它就可以正常运行。
有没有办法在应用程序未运行时调用它并检测到ibeacon?
通过阅读Apple的CLLocationManager类参考,我理解的是这种功能是可行的,但我可能错了。
然而,如果有人知道如何实现这一目标,我们会赞赏一个简短的例子。
发布了类似的问题,但似乎很模糊,所以决定再次提问
谢谢!
答案 0 :(得分:4)
我几个星期以来一直在问这个问题,答案是否定的。
Apple在开发者论坛中对此很清楚:
“请注意,我正在谈论的是用户是否明确杀死了应用切换器中的应用。此时用户告诉我们这个应用不应该运行,我们将尊重再次启动应用程序。如果应用程序被操作系统终止(例如由于内存压力),那么我们将继续启动应用程序进行区域监控。希望这有点澄清。
如果应用程序被暂停(即用户点击主页按钮离开应用程序),则是,我们将在进入/退出区域时继续恢复应用程序。 iOS 7中唯一的变化是用户明确杀死应用切换器中的应用。“
答案 1 :(得分:1)
我看到这个问题有一个公认的答案,但并不完全正确。您绝对可以根据进入范围的iBeacon进行应用启动。
我的博客文章中提供了详细的证据:http://developer.radiusnetworks.com/2013/11/13/ibeacon-monitoring-in-the-background-and-foreground.html
答案 2 :(得分:0)
重要的是要注意,从iOS 7.1+开始,即使用户明确强行杀死应用程序,如果此时监视信标区域,应用程序将再次启动并能够在后台运行在短时间内。
答案 3 :(得分:0)
我建议您阅读有关iOS中后台处理的所有内容。根据我的理解,它同样是用户运行应用程序以及系统资源的函数。根据我的理解,操作系统适应应用程序的使用,并整理所有流程以支持应用程序的使用。我怀疑这是切割和干燥。
对于内容下载,建议推送消息 - 不时启动更新。如果推送可能必须推送一两条消息来“重新注册”,我不会感到惊讶。