SFSpeechRecognizer.RequestAuthorization 메서드

정의

액세스를 요청하는 사용자에게 시스템 대화 상자를 비동기적으로 제공합니다.

[Foundation.Export("requestAuthorization:")]
public static void RequestAuthorization (Action<Speech.SFSpeechRecognizerAuthorizationStatus> handler);
static member RequestAuthorization : Action<Speech.SFSpeechRecognizerAuthorizationStatus> -> unit

매개 변수

특성

설명

개인 정보 보호와 관련된 다른 기능과 마찬가지로 사용자는 앱이 음성 인식에 액세스하도록 적극적으로 허용해야 합니다.

음성 인식을 사용하는 앱은 파일에 적절한 설명 info.plist 과 함께 다음 키를 추가해야 합니다.

<key>NSSpeechRecognitionUsageDescription</key>
<string>Speech recognition will be used to determine which words you speak into this device's microphone.</string>          

애플리케이션에 이 키가 없는 경우 운영 체제는 런타임에 실수를 기록할 수 있는 예외나 기능 없이 "자동" 종료를 실행합니다.

문자열의 info.plist 값은 메서드에 대한 응답으로 RequestAuthorization(Action<SFSpeechRecognizerAuthorizationStatus>) 사용자에게 표시됩니다.

if (SFSpeechRecognizer.AuthorizationStatus != SFSpeechRecognizerAuthorizationStatus.Authorized)
{
	SFSpeechRecognizer.RequestAuthorization((status) => 
	{
	   switch (status)
	   {
		   case SFSpeechRecognizerAuthorizationStatus.Authorized:
			   InvokeOnMainThread(() => prepareButton.Enabled = true);
			   break;
		   case SFSpeechRecognizerAuthorizationStatus.Restricted:
		   case SFSpeechRecognizerAuthorizationStatus.NotDetermined:
		   case SFSpeechRecognizerAuthorizationStatus.Denied:
				 InvokeOnMainThread(() => prepareButton.Enabled = false);
			   break;
	   }
    });
}

적용 대상