【发布时间】:2016-06-24 20:36:23
【问题描述】:
我正在处理位置权限,下一个问题是:
用户从隐私中关闭了位置服务并安装了该应用程序。我有一行代码要求启用位置服务:if (![CLLocationManager locationServicesEnabled] || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied)...,这工作得很好。问题是应用程序不要求允许应用程序使用位置,然后它第二次询问。请求许可代码:
if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[self.locationManager requestWhenInUseAuthorization];
}
注意:如果启用位置服务,一切正常,它会在第一次请求批准。
编辑:权限的完整代码:
-(void)setupPermissions
{
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
if (![CLLocationManager locationServicesEnabled] || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied) {
}
if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[self.locationManager requestWhenInUseAuthorization];
}
[self.locationManager startUpdatingLocation];
}
【问题讨论】:
-
请展示您的代码,而不是谈论您的代码。您尝试获得授权的真实完整代码。谢谢。
-
是的,对不起。编辑了我的问题。
标签: ios objective-c cllocationmanager