代码之家  ›  专栏  ›  技术社区  ›  zontar

当应用程序被关闭/挂起时,iOS设备能否检测到Eddystone信标?

  •  2
  • zontar  · 技术社区  · 8 年前

    我需要编写一个应用程序,每次靠近Eddystone信标时调用REST服务。 我的目标是iOS 9或更高版本,并用Swift书写。

    到目前为止,我已经成功地让应用程序在前台和后台的几个小时内响应来自信标的广告。 然后,应用程序在后台运行几个小时后,什么也没发生。

    我怀疑该应用程序被操作系统杀死或暂停。

    我尝试的第一件事是与CLLocationManager和CLBeaconRegion进行地理围栏。 但在谷歌上搜索之后,我发现这只适用于iBeacon,我的beacon肯定使用了Eddystone协议。

    根据Apple docs,iBeacon上的地理围栏应该“唤醒”应用程序,即使应用程序已经被杀死(无论是被人类还是被操作系统杀死)。。我可以用Eddystone信标做类似的行为吗?

    我认为没有,但在这种情况下,我想要一个明确的答案:)

    谢谢

    顺便说一句,这份文件 https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/LocationAwarenessPG/RegionMonitoring/RegionMonitoring.html

    1 回复  |  直到 8 年前
        1
  •  3
  •   davidgyoung    8 年前

    在监视CLBeaconRegion对象时,您可以使用iOS CoreLocation API在信标检测时在后台启动应用程序。 这只适用于iBeacon,不适用于Eddystone ,因为CoreLocation只检测iBeacon。

    要在iOS上检测Eddystone,您必须使用核心蓝牙API,该API不提供此功能。

    推荐文章