确定用户是否拒绝CoreLocation权限
是否有可能以编程方式确定用户拒绝使用其位置的权限?
其次,如果用户拒绝了权限,是否可以重新提示用户?
您可以使用CLLocationManager
上的authorizationStatus
类方法来确定您的授权状态。 这将返回一个CLAuthorizationStatus
,其定义如下:
typedef enum { kCLAuthorizationStatusNotDetermined = 0, kCLAuthorizationStatusRestricted, kCLAuthorizationStatusDenied, kCLAuthorizationStatusAuthorized } CLAuthorizationStatus;
当您尝试启动位置pipe理器时,如果授权状态不确定,系统将提示用户授权您的应用程序。
此外,您可以检查locationServicesEnabled
类方法以确定系统范围是否启用位置。
此外 – 如果locationServicesEnabled返回NO,并且您尝试启动位置服务,则系统将提示用户确认是否应重新启用位置服务。