訪問手機(jī)相冊(cè)卵渴、相機(jī)慧域、定位、通訊錄浪读、麥克風(fēng)等權(quán)限

獨(dú)立開發(fā)一款A(yù)PP昔榴,需要訪問相冊(cè),平時(shí)不注意碘橘,突然要親自上手寫的時(shí)候才發(fā)現(xiàn)互订,每次都得百度然后復(fù)制粘貼,深感慚愧蛹屿,于是在又一次百度之后屁奏,決定把經(jīng)驗(yàn)記錄下來,做一個(gè)不copy的iOS開發(fā)工程師

一:iOS10之后權(quán)限訪問更加清晰了错负,所有涉及本地?cái)?shù)據(jù)訪問的都需要在Info.plist里添加聲明

相機(jī)權(quán)限:
<key>NSCameraUsageDescription</key>
<string>文字描述</string>
相冊(cè)權(quán)限:
<key>NSPhotoLibraryUsageDescription</key>
<string>文字描述</string>
通訊錄權(quán)限:
<key>NSContactsUsageDescription</key>
<string>文字描述</string>

其他的一些訪問權(quán)限:
麥克風(fēng)權(quán)限:Privacy - Microphone Usage Description 是否允許此App使用你的麥克風(fēng)坟瓢?
相機(jī)權(quán)限: Privacy - Camera Usage Description 是否允許此App使用你的相機(jī)勇边?
相冊(cè)權(quán)限: Privacy - Photo Library Usage Description
通訊錄權(quán)限: Privacy - Contacts Usage Description
藍(lán)牙權(quán)限:Privacy - Bluetooth Peripheral Usage Description
語(yǔ)音轉(zhuǎn)文字權(quán)限:Privacy - Speech Recognition Usage Description
日歷權(quán)限:Privacy - Calendars Usage Description
定位權(quán)限:Privacy - Location When In Use Usage Description
定位權(quán)限: Privacy - Location Always Usage Description
位置權(quán)限:Privacy - Location Usage Description
媒體庫(kù)權(quán)限:Privacy - Media Library Usage Description
健康分享權(quán)限:Privacy - Health Share Usage Description
健康更新權(quán)限:Privacy - Health Update Usage Description
運(yùn)動(dòng)使用權(quán)限:Privacy - Motion Usage Description
音樂權(quán)限:Privacy - Music Usage Description
提醒使用權(quán)限:Privacy - Reminders Usage Description
Siri使用權(quán)限:Privacy - Siri Usage Description
電視供應(yīng)商使用權(quán)限:Privacy - TV Provider Usage Description
視頻用戶賬號(hào)使用權(quán)限:Privacy - Video Subscriber Account Usage Description

二:判斷相機(jī)的使用權(quán)限

//AVAuthorizationStatusRestricted:此應(yīng)用程序沒有被授權(quán)訪問的≌哿可能是家長(zhǎng)控制權(quán)限
//AVAuthorizationStatusDenied:用戶已經(jīng)明確否認(rèn)了應(yīng)用程序訪問

需要引入頭文件<AVFoundation/AVFoundation.h>

  • (BOOL)limitedPhotoGraphDevice {
    AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
    if(authStatus == AVAuthorizationStatusRestricted || authStatus ==AVAuthorizationStatusDenied) {
    //跳到APP的設(shè)置頁(yè)面,此處的CBCCAlertView是我自己對(duì)系統(tǒng)Alert的風(fēng)封裝
    [CBCCAlertView alertWithCallBackBlock:^(NSInteger buttonIndex) {
    if (buttonIndex == 1) {
    NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
    if ([[UIApplication sharedApplication]canOpenURL:url]) {
    [[UIApplication sharedApplication]openURL:url];
    }
    }
    } title:@"??未獲得相機(jī)授權(quán)" message:@"請(qǐng)?jiān)趇Phone的“設(shè)置>隱私>相機(jī)”界面中打開" preferredStyle:UIAlertControllerStyleAlert cancelButtonName:@"取消" otherButtonTitles:@"設(shè)置", nil];
    return NO;
    }
    return YES;
    }
三:判斷相冊(cè)的使用權(quán)限

需要引入頭文件<AssetsLibrary/AssetsLibrary.h>
iOS8.0之后推薦使用#import <Photos/Photos.h>

if(>ios8.0):PHAuthorizationStatus status = [PHPhotoLibrary authorizationStatus];
if (status == PHAuthorizationStatusRestricted ||
status == PHAuthorizationStatusDenied) {
return NO;}

if(<iOS8.0):ALAuthorizationStatus authStatus = [ALAssetsLibrary authorizationStatus];
if(authStatus == AVAuthorizationStatusRestricted || authStatus ==AVAuthorizationStatusDenied) {
//跳到APP的設(shè)置頁(yè)面此處的CBCCAlertView是我自己對(duì)系統(tǒng)Alert的風(fēng)封裝 [CBCCAlertView alertWithCallBackBlock:^(NSInteger buttonIndex) {
if (buttonIndex == 1) {
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication]canOpenURL:url]) {
[[UIApplication sharedApplication]openURL:url];
}
}
} title:@"??未獲得相冊(cè)授權(quán)" message:@"請(qǐng)?jiān)趇Phone的“設(shè)置>隱私>照片”界面中打開" preferredStyle:UIAlertControllerStyleAlert cancelButtonName:@"取消" otherButtonTitles:@"設(shè)置", nil];
return NO;
}
return YES;

最后粒褒,個(gè)人感覺在判斷授權(quán)權(quán)限的時(shí)候最好能先判斷一下設(shè)備狀態(tài)是否可用

//判斷設(shè)備是否可用,攝像頭與相冊(cè)類似,只時(shí)候面的類型不同
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
//判斷是否授權(quán)使用
if ([CBCCPreference sharedInstance].limitedPhotoGraphDevice) {
self.imagePickerVC.sourceType = UIImagePickerControllerSourceTypeCamera;
[self.navigationController presentViewController:self.imagePickerVC animated:YES completion:nil];
}
}else {
NSLog(@"攝像頭無法使用");
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诚镰,一起剝皮案震驚了整個(gè)濱河市奕坟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌清笨,老刑警劉巖月杉,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異抠艾,居然都是意外死亡苛萎,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門检号,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腌歉,“玉大人,你說我怎么就攤上這事齐苛∏谈牵” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵凹蜂,是天一觀的道長(zhǎng)馍驯。 經(jīng)常有香客問我,道長(zhǎng)炊甲,這世上最難降的妖魔是什么泥彤? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任欲芹,我火速辦了婚禮卿啡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘菱父。我一直安慰自己颈娜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布浙宜。 她就那樣靜靜地躺著官辽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪粟瞬。 梳的紋絲不亂的頭發(fā)上同仆,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音裙品,去河邊找鬼俗批。 笑死俗或,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的岁忘。 我是一名探鬼主播辛慰,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼干像!你這毒婦竟也來了帅腌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤麻汰,失蹤者是張志新(化名)和其女友劉穎速客,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體五鲫,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡挽封,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了臣镣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辅愿。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖忆某,靈堂內(nèi)的尸體忽然破棺而出点待,到底是詐尸還是另有隱情,我是刑警寧澤弃舒,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布癞埠,位于F島的核電站,受9級(jí)特大地震影響聋呢,放射性物質(zhì)發(fā)生泄漏苗踪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一削锰、第九天 我趴在偏房一處隱蔽的房頂上張望通铲。 院中可真熱鬧,春花似錦器贩、人聲如沸颅夺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)吧黄。三九已至,卻和暖如春唆姐,著一層夾襖步出監(jiān)牢的瞬間拗慨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留赵抢,地道東北人瘫想。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像昌讲,于是被迫代替她去往敵國(guó)和親国夜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容