1.问题描述:在首次进入控制器就弹出是否允许开启麦克风的权限提示,如果选择不允许,可在下次调用时提示用户去“设置”页面进行再次开启;
2.代码
+ BOOL)checkPermission{ // AVAudioSessionRecordPermission permission = [[AVAudioSession sharedInstance] recordPermission]; // return permission == AVAudioSessionRecordPermissionGranted; __block BOOL bCanRecord = YES; if [[[UIDevice currentDevice]systemVersion]floatValue] >= 7.0) { AVAuthorizationStatus videoAuthStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio]; if videoAuthStatus == AVAuthorizationStatusNotDetermined) {// 未询问用户是否授权 AVAudioSession *audioSession = [AVAudioSession sharedInstance]; if [audioSession respondsToSelector:@selectorrequestRecordPermission:)]) { [audioSession performSelector:@selectorrequestRecordPermission:) withObject:^BOOL granted) { if granted) { bCanRecord = YES; } else { bCanRecord = NO; } }]; } } else ifvideoAuthStatus == AVAuthorizationStatusRestricted || videoAuthStatus == AVAuthorizationStatusDenied) { // 未授权 [self showSetAlertView]; } else{ // 已授权 NSLog@"已授权"); } } return bCanRecord; } //提示用户进行麦克风使用授权 + void)showSetAlertView { [LGAlert alertWithTitle:@"麦克风权限未开启" message:@"麦克风权限未开启,请进入系统【设置】>【隐私】>【麦克风】中打开开关,开启麦克风功能" cancelTitle:@"取消" cancelBlock:^{ } confirmTitle:@"去设置" confirmBlock:^{ //跳入当前App设置界面 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; }]; };
3.参考的主要网址:https://www.jianshu.com/p/e952ef3e33bc