装了iOS7的ip5的隐私设置里多了相机这一项(ip4装iOS7就没有)。
如果隐私里把你的app对应的相机给关了,那打开就会是个黑屏。因此要判断是不是出现了这样的情况。
第一反应肯定是去UIImagePickerController里找对应方法,然后以下2个方法看起来似乎非常满足这个需求:
[color=red]但是上边这俩全不管用!永远返回YES。。。[/color]
又查了下,发现竟然需要用AVFoundation。因此需要先把AVFoundation给Link进来,然后调用:
如果隐私里把你的app对应的相机给关了,那打开就会是个黑屏。因此要判断是不是出现了这样的情况。
第一反应肯定是去UIImagePickerController里找对应方法,然后以下2个方法看起来似乎非常满足这个需求:
//这俩全不管用!!!
[UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];
[UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear];
[color=red]但是上边这俩全不管用!永远返回YES。。。[/color]
又查了下,发现竟然需要用AVFoundation。因此需要先把AVFoundation给Link进来,然后调用:
BOOL isCameraValid = YES;
//判断iOS7的宏,没有就自己写个,下边的方法是iOS7新加的,7以下调用会报错
if(isIOS7AndLater)
{
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if (authStatus != AVAuthorizationStatusAuthorized)
{
isCameraValid = NO;
}
}
}