【发布时间】:2012-01-29 12:07:18
【问题描述】:
是否可以通过编程方式确定用户已拒绝使用其位置的权限?
其次,如果用户拒绝了权限,是否可以重新提示用户?
【问题讨论】:
标签: iphone objective-c ios core-location
是否可以通过编程方式确定用户已拒绝使用其位置的权限?
其次,如果用户拒绝了权限,是否可以重新提示用户?
【问题讨论】:
标签: iphone objective-c ios core-location
另外 - 如果 locationServicesEnabled 返回 NO 并且您仍然尝试启动位置服务,系统将提示用户确认是否应重新启用位置服务。
【讨论】:
您可以使用CLLocationManager 上的authorizationStatus 类方法确定您的授权状态。这将返回一个CLAuthorizationStatus,其定义为:
typedef enum {
kCLAuthorizationStatusNotDetermined = 0,
kCLAuthorizationStatusRestricted,
kCLAuthorizationStatusDenied,
kCLAuthorizationStatusAuthorized
} CLAuthorizationStatus;
当您尝试启动位置管理器时,如果授权状态未确定,系统会提示用户授权您的应用程序。
此外,您可以检查locationServicesEnabled 类方法以确定是否在系统范围内启用了定位。
【讨论】: