開發過程中,遇到系統彈框麥克風授權,如果點了允許,或者不允許,一般再想讓這個對話框出現,需要如下方法解決:
打開:系統設置-》通用-》還原-》還原位置與隱私,即可以實現讓這個系統的對話框再次出現
有時候,還需要監測,第一次彈這個系統的 麥克風授權的對話框:需要使用如下函數,但是注意在iOS 8 及以上系統下使用
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { AVAudioSessionRecordPermission permissionStatus = [[AVAudioSession sharedInstance] recordPermission]; switch (permissionStatus) { case AVAudioSessionRecordPermissionUndetermined:{ NSLog(@"第一次調用,是否允許麥克風彈框"); [[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) { // CALL YOUR METHOD HERE - as this assumes being called only once from user interacting with permission alert! if (granted) { // Microphone enabled code } else { // Microphone disabled code } }]; break; } case AVAudioSessionRecordPermissionDenied: // direct to settings... NSLog(@"已經拒絕麥克風彈框"); break; case AVAudioSessionRecordPermissionGranted: NSLog(@"已經允許麥克風彈框"); // mic access ok... break; default: // this should not happen.. maybe throw an exception. break; } if(permissionStatus == AVAudioSessionRecordPermissionUndetermined) return; }