Как программно узнать, какой язык в настоящее время выбран для диктовки? (Apple Watch)
У меня есть приложение Apple Watch, которое работает исключительно с английской диктовкой. Причина, по которой больше нет доступных языков, - длинная история, так что терпите меня некоторое время. Я знаю, что при "жестком нажатии" на экране, в то время как происходит диктовка с красивым голосовым графиком, появляется меню "выбора языка", где пользователь может выбрать один из доступных языков для диктовки.
Я хочу программно выяснить, какой язык в настоящее время используется для диктовки, чтобы я мог предложить пользователю переключиться на английский, если в настоящее время выбран какой-либо другой язык.
Меню и все на моем телефоне на английском, но я также использую немецкий, каталанский и испанский языки.
Пока что я использую этот код:
let language:NSString=NSLocale.preferredLanguages().first!
print("ASR(?) Language: "+(language as String))
Но на самом деле это возвращает язык системы, установленный в основной карте просмотра iOS: "Общие"> "Язык и регион"> "Язык системы", а не "Язык диктовки".
... и это код, который я использую для диктовки:
self.presentTextInputControllerWithSuggestions([], allowedInputMode: WKTextInputMode.Plain, completion:{(results) -> Void in
let aResult = results?[0] as? String
if(!(aResult == nil)){
print(aResult)
print("ASR says: "+aResult!)
}//end if
})//end show voice menu
Можно ли определить, какой язык действительно используется для диктовки?