iOS7相机隐私判断

转自:http://borissun.iteye.com/blog/1992303

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

Objective-c代码  收藏代码
  1. //这俩全不管用!!!  
  2. [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];  
  3. [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear];  



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

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

Objective-c代码  收藏代码
    1. BOOL isCameraValid = YES;  
    2. //判断iOS7的宏,没有就自己写个,下边的方法是iOS7新加的,7以下调用会报错  
    3. if(isIOS7AndLater)  
    4.         {  
    5.             AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];  
    6.             if (authStatus != AVAuthorizationStatusAuthorized)  
    7.             {  
    8.                 isCameraValid = NO;  
    9.             }  
    10.         }  
    11. }  

posted on 2014-10-23 21:11  王培  阅读(233)  评论(0编辑  收藏  举报

导航