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