前言
今天接到一個任務,檢測應用是否有麥克風的權限,網上找了很多資料,然后終於明白了檢測和獲取的區別
檢測權限
檢測就是判斷用戶是否打開了麥克風的權限
判斷方法是這樣的
1 AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio]; 2 switch (authStatus) { 3 case AVAuthorizationStatusNotDetermined: 4 //沒有詢問是否開啟麥克風 5 flag = 1; 6 break; 7 case AVAuthorizationStatusRestricted: 8 //未授權,家長限制 9 flag = 0; 10 break; 11 case AVAuthorizationStatusDenied: 12 //玩家未授權 13 flag = 0; 14 break; 15 case AVAuthorizationStatusAuthorized: 16 //玩家授權 17 flag = 2; 18 break; 19 default: 20 break; 21 } 22 return flag; 23 }
獲取權限
獲取權限就會彈一個框,讓用戶選擇是否開啟這個權限
1 [audioSession performSelector:@selector(requestRecordPermission:) withObject:^(BOOL granted) { 2 if (granted) { 3 bCanRecord = YES; 4 } 5 else { 6 bCanRecord = NO; 7 } 8 ];