>

저는 간단한 자습서 여기 에서

마이크 액세스를 거부하더라도 시뮬레이터에서 마이크를 실행하면 사용자가 프롬프트에서 허용을 선택하기 전에도 항상 승인 된 경우에 들어가서권한을 인쇄합니다. 마이 위즈 비즈  호출되지 않습니다. 이 문제를 어떻게 해결합니까?

askSpeechPermission

let audioEngine = AVAudioEngine() let speechRecognizer = SFSpeechRecognizer(locale: Locale.init(identifier: "en-US")) let request = SFSpeechAudioBufferRecognitionRequest() var recognitionTask: SFSpeechRecognitionTask? override func viewDidLoad() { super.viewDidLoad() switch SFSpeechRecognizer.authorizationStatus() { case .notDetermined: askSpeechPermission() print("not determined") case .authorized: self.status = .ready print("authorized") case .denied, .restricted: self.status = .unavailable print("denied or restricted") } } func askSpeechPermission() { SFSpeechRecognizer.requestAuthorization { status in OperationQueue.main.addOperation { switch status { case .authorized: self.status = .ready default: self.status = .unavailable } } } }

  • 답변 # 1

    스택 오버플로에 오신 것을 환영합니다!

    사용자가 요청을 승인하거나 거부하면 requestAuthorization이 다시 호출 되더라도 다시 표시되지 않습니다. 시뮬레이터에서 앱을 삭제 한 다음 Xcode에서 다시 실행하면 이전 선택 항목이 지워지고 대화 상자가 다시 나타납니다.

    게시 한 코드를 실행했는데 예상대로 작동하는 것 같습니다.

  • 이전 python - uuid를 가져 오면 uwsgi 데몬이 중단되는 이유는 무엇입니까?
  • 다음 php - 워드 프레스 블로그 페이지 매김