12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- //
- // LBXPermissions.swift
- // swiftScan
- //
- // Created by xialibing on 15/12/15.
- // Copyright © 2015年 xialibing. All rights reserved.
- //
- import UIKit
- import AVFoundation
- import Photos
- import AssetsLibrary
- class LBXPermissions: NSObject {
- //MARK: ----获取相册权限
- static func authorizePhotoWith(comletion: @escaping (Bool) -> Void) {
- let granted = PHPhotoLibrary.authorizationStatus()
- switch granted {
- case PHAuthorizationStatus.authorized:
- comletion(true)
- case PHAuthorizationStatus.denied, PHAuthorizationStatus.restricted:
- comletion(false)
- case PHAuthorizationStatus.notDetermined:
- PHPhotoLibrary.requestAuthorization({ status in
- DispatchQueue.main.async {
- comletion(status == PHAuthorizationStatus.authorized)
- }
- })
- @unknown default:
- comletion(false)
- }
- }
-
- //MARK: ---相机权限
- static func authorizeCameraWith(completion: @escaping (Bool) -> Void) {
- let granted = AVCaptureDevice.authorizationStatus(for: AVMediaType.video)
- switch granted {
- case .authorized:
- completion(true)
- case .denied:
- completion(false)
- case .restricted:
- completion(false)
- case .notDetermined:
- AVCaptureDevice.requestAccess(for: AVMediaType.video, completionHandler: { (granted: Bool) in
- DispatchQueue.main.async {
- completion(granted)
- }
- })
- @unknown default:
- completion(false)
- }
- }
-
- //MARK: 跳转到APP系统设置权限界面
- static func jumpToSystemPrivacySetting() {
- guard let appSetting = URL(string: UIApplication.openSettingsURLString) else {
- return
- }
- if #available(iOS 10, *) {
- UIApplication.shared.open(appSetting, options: [:], completionHandler: nil)
- } else {
- UIApplication.shared.openURL(appSetting)
- }
- }
-
- }
|