我希望在第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)总是我希望设置将更改为“使用应用程序时“
答案 0 :(得分:0)
授权流程与实际请求的位置更新一起发送到您的CLLocationManagerDelegate
。
一旦您被授予使用位置的权限(总是或在使用中),您就可以使用[locationManager startUpdatingLocation]
和[locationManager stopUpdatingLocation]
来控制是否将位置更新传递给您的代理人。
所以,简短的回答是在30分钟后致电[locationManager stopUpdatingLocation]
。