是否有可能通过程序确定用户已拒绝使用其位置?
其次,如果用户已拒绝权限,是否可以重新提示用户?
是否有可能通过程序确定用户已拒绝使用其位置?
其次,如果用户已拒绝权限,是否可以重新提示用户?
您可以使用CLLocationManager
类方法中的authorizationStatus
来确定您的授权状态。这将返回一个被定义为CLAuthorizationStatus
的对象:
typedef enum {
kCLAuthorizationStatusNotDetermined = 0,
kCLAuthorizationStatusRestricted,
kCLAuthorizationStatusDenied,
kCLAuthorizationStatusAuthorized
} CLAuthorizationStatus;
系统将在您尝试启动位置管理器时提示用户授权您的应用程序(如果授权状态为未确定)。此外,您可以检查locationServicesEnabled
类方法以确定系统范围内是否启用了位置。