确定用户是否已拒绝CoreLocation权限

时间:2011-12-28 21:45:31

标签: iphone objective-c ios core-location

是否可以通过编程方式确定用户是否已拒绝使用其位置的权限?

其次,如果用户拒绝了权限,是否可以重新提示用户?

2 个答案:

答案 0 :(得分:14)

您可以使用authorizationStatus上的CLLocationManager类方法确定授权状态。这将返回CLAuthorizationStatus,其定义为:

typedef enum {
   kCLAuthorizationStatusNotDetermined = 0,
   kCLAuthorizationStatusRestricted,
   kCLAuthorizationStatusDenied,
   kCLAuthorizationStatusAuthorized
} CLAuthorizationStatus;

如果在您尝试启动位置管理器时未确定授权状态,系统将提示用户授权您的应用程序。

此外,您可以检查locationServicesEnabled类方法以确定系统范围内是否启用了位置。

答案 1 :(得分:3)

此外 - 如果locationServicesEnabled返回NO并且您无论如何都尝试启动位置服务,系统将提示用户确认是否应重新启用位置服务。

相关问题