123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- //
- // 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 ? true:false)
- }
- })
- case .limited:
- comletion(true)
- }
- }
-
- //MARK: ---相机权限
- static func authorizeCameraWith(comletion:@escaping (Bool)->Void )
- {
- let granted = AVCaptureDevice.authorizationStatus(for: AVMediaType.video);
-
- switch granted {
- case .authorized:
- comletion(true)
- break;
- case .denied:
- comletion(false)
- break;
- case .restricted:
- comletion(false)
- break;
- case .notDetermined:
- AVCaptureDevice.requestAccess(for: AVMediaType.video, completionHandler: { (granted:Bool) in
- DispatchQueue.main.async {
- comletion(granted)
- }
- })
- }
- }
-
- //MARK:跳转到APP系统设置权限界面
- static func jumpToSystemPrivacySetting()
- {
- let appSetting = URL(string:UIApplication.openSettingsURLString)
-
- if appSetting != nil
- {
- if #available(iOS 10, *) {
- UIApplication.shared.open(appSetting!, options: [:], completionHandler: nil)
- }
- else{
- UIApplication.shared.openURL(appSetting!)
- }
- }
- }
-
- }
|