【问题标题】:How to know that application have camera access or not programmatically in iOS8如何在 iOS8 中以编程方式知道该应用程序是否可以访问相机
【发布时间】:2014-08-30 08:55:09
【问题描述】:

我的应用程序使用相机。 在 iOS8 中,它们包含一个新的隐私设置 Camera,用户可以在其中管理 为每个应用程序使用相机权限。

问题:
如果用户不允许我的应用程序使用相机,那么我怎么知道 我的应用程序无法访问相机。
就像我可以使用ALAssetsLibrary authorizationStatus 来发现照片库的状态 或ABAddressBookGetAuthorizationStatus 了解电话簿访问状态。

问题:
我如何知道我的应用程序在 iOS8 中是否可以访问相机, 以便我可以提示用户允许我的应用程序访问相机?


我有下面的照相亭打印屏幕有同样的问题 就像我的应用程序一样。


当没有摄像头访问时,它只会显示黑屏,没有任何消息。

【问题讨论】:

    标签: camera ios8 xcode6


    【解决方案1】:

    检查AVAuthorizationStatus 的相机可用性,然后相应地处理案例

    AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
    if(status == AVAuthorizationStatusAuthorized) {
      // authorized
    } else if(status == AVAuthorizationStatusDenied){
      // denied
    } else if(status == AVAuthorizationStatusRestricted){
      // restricted
    } else if(status == AVAuthorizationStatusNotDetermined){
      // not determined
      [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
        if(granted){
      NSLog(@"Granted access");
    } else {
      NSLog(@"Not granted access");
    }
      }];
    }
    

    【讨论】:

    • 这是否适用于使用相机拍摄照片或仅用于视频?在开发者网站上,它说如果您尝试执行除录制音频/视频以外的任何操作时,此方法会引发异常?
    猜你喜欢
    • 1970-01-01
    • 2015-04-12
    • 2022-08-14
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    相关资源
    最近更新 更多