SFSpeechRecognizer.RequestAuthorization Metodo

Definizione

Presenta in modo asincrono una finestra di dialogo di sistema all'utente che richiede l'accesso.

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

Parametri

Attributi

Commenti

Come per altre strutture che coinvolgono la privacy, l'utente deve consentire all'app di accedere al riconoscimento vocale.

Le app che usano il riconoscimento vocale devono aggiungere la chiave seguente, con descrizioni appropriate, nel file info.plist :

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

Se un'applicazione non dispone di questa chiave, il sistema operativo eseguirà un arresto invisibile all'utente in fase di esecuzione, senza eccezioni o possibilità di registrare l'errore.

Il valore della info.plist stringa viene presentato all'utente in risposta al RequestAuthorization(Action<SFSpeechRecognizerAuthorizationStatus>) metodo :

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;
	   }
    });
}

Si applica a