swift相冊相機的權限處理示例詳解
前言
最近在開發(fā)中遇到了獲取相冊相機權限的需求,通過查找相關的資料終于解決了,因為之后會用到所以決定記錄下,下面話不多說了,來一起看看詳細的介紹吧。
注意:須先在info.plist中添加兩個keyNSPhotoLibraryUsageDescription, 和NSCameraUsageDescription, 內容填提示內容.
相機
// 使用
self.cameraPermissions(authorizedBlock: {
print("打開相機")
}, deniedBlock: {
print("沒有權限使用相機")
})
// 相機權限
class func cameraPermissions(authorizedBlock: OperationBlock?, deniedBlock: OperationBlock?) {
let authStatus = AVCaptureDevice.authorizationStatus(for: AVMediaType.video)
// .notDetermined .authorized .restricted .denied
if authStatus == .notDetermined {
// 第一次觸發(fā)授權 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過時了, 換成使用PHPhotoLibrary
// 使用
self.photoAlbumPermissions(authorizedBlock: {
print("打開相冊")
}, deniedBlock: {
print("沒有權限打開相冊")
})
// 相冊權限
class func photoAlbumPermissions(authorizedBlock: OperationBlock?, deniedBlock: OperationBlock?) {
let authStatus = PHPhotoLibrary.authorizationStatus()
// .notDetermined .authorized .restricted .denied
if authStatus == .notDetermined {
// 第一次觸發(fā)授權 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!()
}
}
}
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
SwiftUI學習之state和Binding的區(qū)別淺析
這篇文章主要給大家介紹了關于SwiftUI學習之state和Binding區(qū)別的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03
Swift3.0剪切板代碼拷貝及跨應用粘貼實現(xiàn)代碼
這篇文章主要為大家詳細介紹了Swift3.0剪切板代碼拷貝及跨應用粘貼的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
Swift算法實現(xiàn)字符串轉數(shù)字的方法示例
最近學完了swift想著實踐下,就通過一些簡單的算法進行學習研究,下面這篇文章主要介紹了Swift算法實現(xiàn)字符串轉數(shù)字的方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-03-03
SwiftUI?List在MacOS中的性能優(yōu)化示例
這篇文章主要為大家介紹了SwiftUI?List在MacOS中的性能優(yōu)化示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09

