//检查是否开启相册
class 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
}
}
}
//检查是否开启相机
class func checkCameraPermission() -> Bool{
let mediaType = AVMediaType.video
let authorizationStatus = AVCaptureDevice.authorizationStatus(for: mediaType)
switch authorizationStatus {
case .notDetermined: //用户尚未做出选择
return false
case .authorized: //已授权
return true
case .denied: //用户拒绝
return false
case .restricted: //家长控制
return false
}
}
//检查是否开启麦克风
class func checkMicroPermission() -> Bool{
let mediaType = AVMediaType.audio
let authorizationStatus = AVCaptureDevice.authorizationStatus(for: mediaType)
switch authorizationStatus {
case .notDetermined: //用户尚未做出选择
return false
case .authorized: //已授权
return true
case .denied: //用户拒绝
return false
case .restricted: //家长控制
return false
}
}
//检查是否开启定位
class 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
}
}