1、关于照相机的权限分类(麦克风,录像机)
typedef
NS_ENUM(NSInteger, AVAuthorizationStatus) {
AVAuthorizationStatusNotDetermined =
0,//默认选项,表示暂时没有选择客户端访问硬件
AVAuthorizationStatusRestricted,//客户端未被授权访问媒体类型
AVAuthorizationStatusDenied,// 拒绝访问客户端支持类型的媒体类型
AVAuthorizationStatusAuthorized//客户端允许访问硬件支持的媒体类型
}
2、关于相册的权限分类
typedef
NS_ENUM(NSInteger, PHAuthorizationStatus) {
PHAuthorizationStatusNotDetermined =
0,
PHAuthorizationStatusRestricted,
PHAuthorizationStatusDenied,
PHAuthorizationStatusAuthorized
}
3、关于通讯录的权限分类
ios9以前:
typedef
CF_ENUM(CFIndex, ABAuthorizationStatus) {
kABAuthorizationStatusNotDetermined =
0,
// deprecated, use CNAuthorizationStatusNotDetermined
kABAuthorizationStatusRestricted,
// deprecated, use CNAuthorizationStatusRestricted
kABAuthorizationStatusDenied,
// deprecated, use CNAuthorizationStatusDenied
kABAuthorizationStatusAuthorized
// deprecated, use CNAuthorizationStatusAuthorized
}
ios9以后:
typedef
NS_ENUM(NSInteger, CNAuthorizationStatus){
CNAuthorizationStatusNotDetermined =
0,
CNAuthorizationStatusRestricted,
CNAuthorizationStatusDenied,
CNAuthorizationStatusAuthorized
}
4、关于地理定位权限分类
typedef
NS_ENUM(int,
CLAuthorizationStatus) {
kCLAuthorizationStatusNotDetermined =
0,
kCLAuthorizationStatusRestricted,
kCLAuthorizationStatusDenied,
kCLAuthorizationStatusAuthorizedAlways,
kCLAuthorizationStatusAuthorizedWhenInUse,
kCLAuthorizationStatusAuthorized
};
定位条件:[CLLocationManager
locationServicesEnabled] &&
([CLLocationManager
authorizationStatus] ==
kCLAuthorizationStatusAuthorizedWhenInUse
||[CLLocationManager
authorizationStatus] ==
kCLAuthorizationStatusAuthorizedAlways)
5、跳转到设置界面
NSURL *url = [NSURL
URLWithString:UIApplicationOpenSettingsURLString];
if([[UIApplication
sharedApplication]
canOpenURL:url]) {
NSURL*url =[NSURL
URLWithString:UIApplicationOpenSettingsURLString];
[[UIApplication
sharedApplication]
openURL:url];
}