swift相冊(cè)相機(jī)的權(quán)限處理示例詳解
前言
最近在開發(fā)中遇到了獲取相冊(cè)相機(jī)權(quán)限的需求,通過查找相關(guān)的資料終于解決了,因?yàn)橹髸?huì)用到所以決定記錄下,下面話不多說了,來一起看看詳細(xì)的介紹吧。
注意:須先在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!() } } }
相冊(cè)
iOS9.0后ALAssetsLibrary過時(shí)了, 換成使用PHPhotoLibrary
// 使用 self.photoAlbumPermissions(authorizedBlock: { print("打開相冊(cè)") }, deniedBlock: { print("沒有權(quán)限打開相冊(cè)") }) // 相冊(cè)權(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!() } } }
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
如何使用Swift來實(shí)現(xiàn)一個(gè)命令行工具的方法
這篇文章主要介紹了如何使用Swift來實(shí)現(xiàn)一個(gè)命令行工具,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05判斷?ScrollView List?是否正在滾動(dòng)詳解
這篇文章主要為大家介紹了判斷?ScrollView、List?是否正在滾動(dòng)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09Objective-c代碼如何移植為Swift代碼 Objective-c代碼轉(zhuǎn)移到Swift過程介紹
這篇文章主要介紹了Objective-c代碼如何移植為Swift代碼,Objective-c代碼轉(zhuǎn)移到Swift過程介紹,需要的朋友可以參考下2014-07-07Swift中通過疊加UILabel實(shí)現(xiàn)混合進(jìn)度條的方法
這篇文章主要介紹了Swift中通過疊加UILabel實(shí)現(xiàn)混合進(jìn)度條的方法的相關(guān)資料,需要的朋友可以參考下2016-08-08