美文网首页
Swift 相册、相机、麦克风、定位权限判断

Swift 相册、相机、麦克风、定位权限判断

作者: darrenW | 来源:发表于2017-09-11 18:09 被阅读473次

1、相册权限校验,代码如下:

    //相册
    func checkPhotoLibraryPermission() -> Bool{
        if #available(iOS 9.0, *){  // iOS 9 及其以上系统运行
            let status = PHPhotoLibrary.authorizationStatus()
            switch status {
            case .notDetermined:  //用户尚未做出选择
                return false
            case .authorized:  //已授权
                return true
            case .denied:  //用户拒绝
                return false
            case .restricted:  //家长控制
                return false
            }
        }else {
            let authorizationStatus = ALAssetsLibrary.authorizationStatus()
            switch authorizationStatus {
            case .notDetermined:  //用户尚未做出选择
                return false
            case .authorized:  //已授权
                return true
            case .denied:  //用户拒绝
                return false
            case .restricted:  //家长控制
                return false
            }
        }
    }

2、相机权限校验,代码如下:

    //相机
    func checkCameraPermission() -> Bool{
        let mediaType = AVMediaTypeVideo
        let authorizationStatus = AVCaptureDevice.authorizationStatus(forMediaType: mediaType)
        switch authorizationStatus {
        case .notDetermined:  //用户尚未做出选择
            return false
        case .authorized:  //已授权
            return true
        case .denied:  //用户拒绝
            return false
        case .restricted:  //家长控制
            return false
        }
    }

3、麦克风权限校验,代码如下:

    //麦克风
    func checkMicroPermission() -> Bool{
        let mediaType = AVMediaTypeAudio
        let authorizationStatus = AVCaptureDevice.authorizationStatus(forMediaType: mediaType)
        switch authorizationStatus {
        case .notDetermined:  //用户尚未做出选择
            return false
        case .authorized:  //已授权
            return true
        case .denied:  //用户拒绝
            return false
        case .restricted:  //家长控制
            return false
        }
    }

4、定位权限校验,代码如下:

    //定位
    func checkLocationPermission() -> Bool{
        let status = CLLocationManager.authorizationStatus()
        switch status {
        case .notDetermined:  //用户尚未做出选择
            return false
        case .restricted:  //未被授权
            return false
        case .denied:  //用户拒绝
            return false
        case .authorizedWhenInUse:  //使用期间定位
            return true
        case .authorizedAlways:  //一直定位
            return true
        }
    }

为什么switch最后没有default呢?因为我把AVAuthorizationStatus所有状态都列出来了

public enum AVAuthorizationStatus : Int {
    case notDetermined
    case restricted
    case denied
    case authorized
}

相关文章

  • ios 9+ 访问权限总结

    1.判断相册权限 2.判断相机权限 3.判断麦克风权限 4.判断通讯录权限 5.判断定位权限 6.判断日历权限 7...

  • iOS相机,相册,定位,麦克风权限判断

    1 相机权限 2 相册权限 3 麦克风权限(录音等) 4 定位权限

  • 20170313 iOS 权限相关 : 判断与 跳转 设置

    iOS 常见错误(持续更新) iOS权限获取 摄像头与麦克风 iOS各种权限判断(相机,相册,定位,录音) ios...

  • Swift 相册、相机、麦克风、定位权限判断

    1、相册权限校验,代码如下: 2、相机权限校验,代码如下: 3、麦克风权限校验,代码如下: 4、定位权限校验,代码...

  • iPhone系统权限

    需要引用到的头文件有 相册权限 照相机权限 麦克风权限 通知权限 定位权限 通讯录权限

  • ios开发中的权限

    权限分类 联网权限 相册权限 相机 麦克风权限 定位权限 推送权限 通讯录权限 日历 备忘录权限 联网权限 引入头...

  • iOS 相关权限

    权限分类 联网权限 相册权限 相机、麦克风权限 定位权限 推送权限 通讯录权限 日历、备忘录权限 1.联网权限 引...

  • iOS系统权限获取

    iOS系统权限: 相册、相机、麦克风、推送通知、AppleMusic 相册权限状态:ALAuthorization...

  • iOS系统权限管理

    iOS系统权限管理主要有以下权限:网络、相册、推送、相机以及麦克风、通讯录、定位;https://www.jian...

  • iOS 相机 麦克风 照片 权限的检测与获取

    获取相机、相册、麦克风、定位等权限,需要提前在info.plist添加获取权限声明,否则会崩溃,提示信息如下: [...

网友评论

      本文标题:Swift 相册、相机、麦克风、定位权限判断

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