【问题标题】:background location iOS 8背景位置 iOS 8
【发布时间】:2015-08-07 12:57:33
【问题描述】:

Hello Devs:我正在开发一个应用程序,我想在后台获取用户位置,并在用户到达该特定位置后立即向他发送推送通知。这是我到目前为止在我的应用程序委托中使用我的 locatioManager 所做的事情

locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
if (IS_OS_8_OR_LATER) [locationManager requestAlwaysAuthorization];
[locationManager startUpdatingLocation];

我已将 info.plist 设置为始终请求位置。当我在设备上安装应用程序时,我还会收到一条消息,即我的应用程序将在后台使用位置信息。但是,当我关闭应用程序并到达特定位置时,在启动应用程序之前我不会收到任何推送通知或警报。我打开了后台模式-> 功能部分下的位置更新,然后一切正常。我无需启动应用程序即可无缝接收通知。这一切都很好,但是当我关闭应用程序时,我在状态栏上看到一个蓝色条,表示我的应用程序正在后台跟踪位置。如何隐藏顶部的蓝色条?我很确定这会吓跑我的用户,他们会立即删除我的应用程序。长话短说,我该如何做到这一点?我知道这个问题在过去已经被问过并回答了好几次,但所有这些答案都是 2-3 岁,并且似乎不适用于新的 iOS 8。我需要在后台获取用户位置才能让我的应用程序工作,否则它没用。我将非常感谢对此的任何帮助或建议。 谢谢!

【问题讨论】:

    标签: background ios8 location updates locationmanager


    【解决方案1】:

    您想要做的是称为(背景)地理围栏。您的应用无需自行计算,因为 CoreLocation 已提供此功能。

    请从Daniel查看this answer

    地理围栏功能会在用户进入目标区域时唤醒您的应用,并且不会显示蓝条。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-29
      • 1970-01-01
      • 2012-09-10
      相关资源
      最近更新 更多