取消[locationManager requestAlwaysAuthorization]的请求

时间:2014-12-01 06:15:11

标签: ios objective-c cordova

我希望在第30分钟我的应用程序将在后台使用我的GPS,所以我执行以下操作:

CLLocationManager *locationManager = nil;
            locationManager = [[CLLocationManager alloc] init];
            locationManager.distanceFilter =  kCLLocationAccuracyBest;
            locationManager.desiredAccuracy = kCLLocationAccuracyBest;
            locationManager.pausesLocationUpdatesAutomatically = NO;
            // Do any additional setup after loading the view from its nib.
            [locationManager requestAlwaysAuthorization];

30分钟后,我希望我的应用程序只能在前台运行...

如何删除在后台使用我的gps的线程?

据我所知,我需要添加[locationManager stopUpdatingLocation]和[locationManager requestWhenInUseAuthorization]; 它的工作原理,但在隐私的应用程序设置 - >位置服务 - >然后有3个选项:1)从不2)使用应用程序3)总是甚至应用程序没有在后台运行,然后仍然选择第三个选项3)总是我希望设置将更改为“使用应用程序时“

1 个答案:

答案 0 :(得分:0)

授权流程与实际请求的位置更新一起发送到您的CLLocationManagerDelegate

一旦您被授予使用位置的权限(总是或在使用中),您就可以使用[locationManager startUpdatingLocation][locationManager stopUpdatingLocation]来控制是否将位置更新传递给您的代理人。

所以,简短的回答是在30分钟后致电[locationManager stopUpdatingLocation]