iOS開發-麥克風授權的問題


開發過程中,遇到系統彈框麥克風授權,如果點了允許,或者不允許,一般再想讓這個對話框出現,需要如下方法解決:

打開:系統設置-》通用-》還原-》還原位置與隱私,即可以實現讓這個系統的對話框再次出現

有時候,還需要監測,第一次彈這個系統的 麥克風授權的對話框:需要使用如下函數,但是注意在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;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM