这个只在IOS 7 中会存在这些问题,其中包括相机和相册。如果觉得有用就收藏吧!我也找了好久
首先引入AVFoundation.farmework,
在判断版本:
BOOL isCameraValid = YES;
- (void)viewDidLoad{
double version = [[UIDevice currentDevice].systemVersion doubleValue];
if(version>=7.0f){
// 判断程序的隐私设置是否授予权限
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if (authStatus != AVAuthorizationStatusAuthorized)
{
isCameraValid = NO;
}
}
}
其次在要使用相机和相册的地方添加如下代码:
if(isCameraValid){
UIImagePickerController * picker = [[UIImagePickerController alloc]init];
picker.delegate = self;
picker.allowsEditing = YES; //是否可编辑
//摄像头
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:picker animated:YES];
myDelegate.photoBackFun = [[NSString alloc]initWithString:[arrFucnameAndParameter objectAtIndex:1]];
[picker release];
}else{
//如果没有提示用户
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"请在iPhone的“设置-隐私-相机”选项中,允许程序访问你的相机" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil];
[alert show];
}
}