欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

swift相冊相機的權限處理示例詳解

 更新時間:2017年10月31日 09:19:50   作者:hello老文  
在iOS7以后要打開手機攝像頭或者相冊的話都需要權限,在iOS9中更是更新了相冊相關api的調用,那么下面這篇文章主要給大家介紹了關于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!()
  }
 }
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • Swift 3中使用FMDB遇到的問題與解決方法

    Swift 3中使用FMDB遇到的問題與解決方法

    相信大家都熟悉OC使用FMDB第三方庫,進行數(shù)據(jù)庫操作,增、刪、改、查,但最近在Swift 3中使用FMDB遇到了一些問題,下面這篇文章主要給大家介紹了關于在Swift 3中使用FMDB遇到的問題與解決方法,需要的朋友可以參考下。
    2017-07-07
  • Swift中非可選的可選值類型處理方法詳解

    Swift中非可選的可選值類型處理方法詳解

    Optional是Objective-C沒有的數(shù)據(jù)類型,是蘋果引入到Swift語言中的全新類型,它的特點就和它的名字一樣:可以有值,也可以沒有值,當它沒有值時,就是nil。下面這篇文章主要給大家介紹了關于Swift中非可選的可選值類型處理方法的相關資料,需要的朋友可以參考下。
    2017-11-11
  • 如何使用Swift來實現(xiàn)一個命令行工具的方法

    如何使用Swift來實現(xiàn)一個命令行工具的方法

    這篇文章主要介紹了如何使用Swift來實現(xiàn)一個命令行工具,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • Swift中定義二維數(shù)組的方法及遍歷方法示例

    Swift中定義二維數(shù)組的方法及遍歷方法示例

    這篇文章主要介紹了Swift中定義二維數(shù)組的方法及遍歷方法示例,本文直接給出代碼示例,需要的朋友可以參考下
    2015-07-07
  • SwiftUI自定義導航的方法實例

    SwiftUI自定義導航的方法實例

    導航是我們平時經(jīng)常會遇到的一個需求,下面這篇文章主要給大家介紹了關于SwiftUI自定義導航的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 判斷?ScrollView List?是否正在滾動詳解

    判斷?ScrollView List?是否正在滾動詳解

    這篇文章主要為大家介紹了判斷?ScrollView、List?是否正在滾動示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Swift中類與結構的初始化示例解析

    Swift中類與結構的初始化示例解析

    這篇文章主要為大家介紹了Swift中類與結構的初始化解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-03-03
  • Objective-c代碼如何移植為Swift代碼 Objective-c代碼轉移到Swift過程介紹

    Objective-c代碼如何移植為Swift代碼 Objective-c代碼轉移到Swift過程介紹

    這篇文章主要介紹了Objective-c代碼如何移植為Swift代碼,Objective-c代碼轉移到Swift過程介紹,需要的朋友可以參考下
    2014-07-07
  • Swift中定義單例的方法實例

    Swift中定義單例的方法實例

    Swift中單例的寫法有很多種,下面這篇文章主要給大家介紹了關于Swift中定義單例的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-03-03
  • Swift中通過疊加UILabel實現(xiàn)混合進度條的方法

    Swift中通過疊加UILabel實現(xiàn)混合進度條的方法

    這篇文章主要介紹了Swift中通過疊加UILabel實現(xiàn)混合進度條的方法的相關資料,需要的朋友可以參考下
    2016-08-08

最新評論