1. 程式人生 > >獲取相機、相簿的授權狀態

獲取相機、相簿的授權狀態

當你第一次在應用中開啟相簿的時候,系統會提示你時候允許使用者訪問相簿,如果你選擇不允許的話,你以後在該應用中將無法訪問相簿。如果想要重新允許,那麼需要你去“隱私設定”裡面去設定。在程式中怎麼獲取使用者是否擁有對相簿的訪問許可權,然後做相應地操作呢,首先下面列出了相簿的一些許可權值和對應的含義
typedef NS_ENUM(NSInteger, ALAuthorizationStatus) {
ALAuthorizationStatusNotDetermined = 0, 使用者尚未做出了選擇這個應用程式的問候
ALAuthorizationStatusRestricted,        此應用程式沒有被授權訪問的照片資料。可能是家長控制權限。
ALAuthorizationStatusDenied,            使用者已經明確否認了這一照片資料的應用程式訪問.
ALAuthorizationStatusAuthorized         使用者已授權應用訪問照片資料.
}

我們在應用中只需要通過ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus];相簿的許可權值,  然後做相應的操作。

1.在ios7之前攝像頭是一直可以訪問的,隱私設定選項中沒有關閉相應軟體的攝像頭功能的選項。在ios7以後攝像頭和相簿一樣增加了訪問許可權的設定,應用中第一次訪問攝像頭的時候,系統會詢問你是否授權應用訪問你的攝像頭。攝像頭的許可權和相簿的許可權基本上一樣,有:
typedef NS_ENUM(NSInteger, AVAuthorizationStatus) {
AVAuthorizationStatusNotDetermined = 0,
AVAuthorizationStatusRestricted,
AVAuthorizationStatusDenied,
AVAuthorizationStatusAuthorized
} NS_AVAILABLE_IOS(7_0);

我們可以通過
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];  獲取對攝像頭的訪問許可權。