美文网首页
app的权限判断一:相机

app的权限判断一:相机

作者: 广东煲仔饭049 | 来源:发表于2016-01-22 17:50 被阅读480次

    app需要获取系统的隐私是需要权限的(不同系统所提供的会有所不同【可在 设置-隐私 中查看】) PS: 有些服务是iOS7以上才限制的

    F25A7297.png

    而在开发中,我们需要判断用户是否已经设置了 【允许】的操作,来确保不会引起错误,常用的其实就下面这几个,(有时间以后会补上)
    1.相机
    2.相片
    3.定位服务
    4.通讯录


    首先有一个枚举来表示某个capability的授权状态:

    AVAuthorizationStatus

    屏幕快照 2016-01-22 16.05.08.png

    简单翻译的意思如下:
    0.NotDeterMined(没决定的) :用户还没有对该app做出选择,
    1.Restricted(有一定限制的):media type的访问被限制了,(例如受到parental controls 的限制)
    2.Denied(拒绝): 被设置了不能访问
    3.Authorized(授权的): 已经授权了

    所以通常这样操作:
    0提示用户去设置;
    1和2提醒用户打开允许访问


    AVCaptureDevice这样一个类方法来查询media的状态


    屏幕快照 2016-01-22 17.34.00.png

    mediaType有以下那么多,判断相机的使用第一个:video,


    屏幕快照 2016-01-22 17.36.08.png
    所以判断相机是否已经授权的方法如下:
    /**
     *  判断相机是否授权
     */
    - (BOOL)isAuthrized {
        AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
        if (status == AVAuthorizationStatusDenied || status == AVAuthorizationStatusRestricted) {
            //没有授权
            return NO;
        } else {
            //已经授权
            return YES;
        }
    }
    

    需要弹AlertView还是做别的操作就各自依需求吧

    相关文章

      网友评论

          本文标题:app的权限判断一:相机

          本文链接:https://www.haomeiwen.com/subject/tnxrkttx.html