背景位置iOS 8

时间:2015-05-26 02:43:07

标签: background ios8 location updates locationmanager

Hello Devs:我正在开发一个应用程序,我想在后台获取用户位置,并在用户到达该特定位置时立即向他发送推送通知。这是我到目前为止在我的app delegate中使用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.我需要在后台获取用户位置,以便我的应用程序能够工作,否则它无用。我真的很感激任何帮助或建议。 谢谢!

1 个答案:

答案 0 :(得分:0)

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

请从this answer查看Daniel

当用户进入目标区域时,Geofencing功能会唤醒您的应用,并且不会显示蓝色条。