iOS7相机隐私判断

  装了iOS7的ip5的隐私设置里多了相机这一项(ip4装iOS7就没有)。
如果隐私里把你的app对应的相机给关了,那打开就会是个黑屏。因此要判断是不是出现了这样的情况。
  第一反应肯定是去UIImagePickerController里找对应方法,然后以下2个方法看起来似乎非常满足这个需求:

//这俩全不管用!!!
[UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];
[UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear];


但是上边这俩全不管用!永远返回YES。。。

又查了下,发现竟然需要用AVFoundation。因此需要先把AVFoundation给Link进来,然后调用:

BOOL isCameraValid = YES;
//判断iOS7的宏,没有就自己写个,下边的方法是iOS7新加的,7以下调用会报错
if(isIOS7AndLater)
        {
            AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
            if (authStatus != AVAuthorizationStatusAuthorized)
            {
                isCameraValid = NO;
            }
        }
}




你可能感兴趣的:(ios7,相机,隐私)