swift相冊相機(jī)權(quán)限處理

用到了記錄下.

須先在info.plist中添加兩個(gè)keyNSPhotoLibraryUsageDescription, 和NSCameraUsageDescription, 內(nèi)容填提示內(nèi)容.

相機(jī)

// 使用
self.cameraPermissions(authorizedBlock: {
    print("打開相機(jī)")
}, deniedBlock: {
    print("沒有權(quán)限使用相機(jī)")
})

// 相機(jī)權(quán)限
class func cameraPermissions(authorizedBlock: OperationBlock?, deniedBlock: OperationBlock?) {
    let authStatus = AVCaptureDevice.authorizationStatus(for: AVMediaType.video)
    
    // .notDetermined  .authorized  .restricted  .denied
    if authStatus == .notDetermined {
        // 第一次觸發(fā)授權(quán) alert
        AVCaptureDevice.requestAccess(for: .video, completionHandler: { (granted: Bool) in
            self.cameraPermissions(authorizedBlock: authorizedBlock, deniedBlock: deniedBlock)
        })
    } else if authStatus == .authorized {
        if authorizedBlock != nil {
            authorizedBlock!()
        }
    } else {
        if deniedBlock != nil {
            deniedBlock!()
        }
    }
}

相冊

iOS9.0后ALAssetsLibrary過時(shí)了, 換成使用PHPhotoLibrary

// 使用
self.photoAlbumPermissions(authorizedBlock: {
    print("打開相冊")
}, deniedBlock: {
    print("沒有權(quán)限打開相冊")
})

// 相冊權(quán)限
class func photoAlbumPermissions(authorizedBlock: OperationBlock?, deniedBlock: OperationBlock?) {
    let authStatus = PHPhotoLibrary.authorizationStatus()
    
    // .notDetermined  .authorized  .restricted  .denied
    if authStatus == .notDetermined {
        // 第一次觸發(fā)授權(quán) alert
        PHPhotoLibrary.requestAuthorization { (status:PHAuthorizationStatus) -> Void in
            self.photoAlbumPermissions(authorizedBlock: authorizedBlock, deniedBlock: deniedBlock)
        }
    } else if authStatus == .authorized  {
        if authorizedBlock != nil {
            authorizedBlock!()
        }
    } else {
        if deniedBlock != nil {
            deniedBlock!()
        }
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容