判断用户是否有权限访问相册
#import <AssetsLibrary/AssetsLibrary.h>
ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus];
if (author == ALAuthorizationStatusRestricted || author ==ALAuthorizationStatusDenied){
//无权限 做一个友好的提示
UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"请您先去设置允许APP访问您的相册 设置>隐私>照片" delegate:self cancelButtonTitle:@"我知道了" otherButtonTitles:nil, nil];
[alert show];
return ;
} else {//做你想做的(可以去打开设置的路径)
}
}
* ALAuthorizationStatusNotDetermined= 0, // 用户尚未做出选择这个应用程序的问候
* ALAuthorizationStatusRestricted, // 此应用程序没有被授权访问的照片数据。可能是家长控制权限
* ALAuthorizationStatusDenied, // 用户已经明确否认了这一照片数据的应用程序访问
* ALAuthorizationStatusAuthorized // 用户已经授权应用访问照片数据
iOS 8 之后推荐用 #import <Photos/Photos.h> 中的判断
if ([[[UIDevice currentDevice] systemVersion] floatValue] < 8.0) {
PHAuthorizationStatus status = [PHPhotoLibrary authorizationStatus];
if (status == PHAuthorizationStatusRestricted ||
status == PHAuthorizationStatusDenied) {
//无权限
return NO;
}
typedef NS_ENUM(NSInteger, PHAuthorizationStatus) {
PHAuthorizationStatusNotDetermined = 0, // 默认还没做出选择
PHAuthorizationStatusRestricted, // 此应用程序没有被授权访问的照片数据
PHAuthorizationStatusDenied, // 用户已经明确否认了这一照片数据的应用程序访问
PHAuthorizationStatusAuthorized // 用户已经授权应用访问照片数据
} NS_AVAILABLE_IOS(8_0);
判断用户是否有权限访问相机
#import <AVFoundation/AVCaptureDevice.h>
#import <AVFoundation/AVMediaFormat.h>
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if (authStatus == AVAuthorizationStatusRestricted || authStatus ==AVAuthorizationStatusDenied) {
//无权限 可以做一个友好的提示 UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"请您先去设置允许APP访问您的相机 设置>隐私>相机" delegate:self cancelButtonTitle:@"我知道了" otherButtonTitles:nil, nil];
[alert show];
return ;
} else { //做你想做的(可以去打开设置的路径)
}
* AVAuthorizationStatusNotDetermined = 0,// 用户尚未做出选择这个应用程序的问候
* AVAuthorizationStatusRestricted,// 此应用程序没有被授权访问的照片数据。
* AVAuthorizationStatusDenied,// 用户已经明确否认了这一照片数据的应用程序访问
* AVAuthorizationStatusAuthorized// 用户已经授权应用访问照片数据
我们经常会在开发中获取设备的各种权限,当应用未经授权相关权限时,就会提示用户或者直接跳转到系统的‘设置’中来让用户授权。当用户在更改授权的时候你会发现你的程序崩溃了,本以为是代码的原因,可是在网上查阅了一下发现这应该是系统的一个强制行为。(如果连着Xcode调试会一直崩溃的哦~)