Я создаю приложение, которое позволяет пользователям проверять местное время в любой точке мира. Информация извлекается с использованием API Google, и все работает хорошо, но для достижения наилучших результатов мне нужно указать язык, который я хотел бы использовать.
Очевидно, что в моем случае имеет смысл установить нужный язык на тот, который пользователь использовал при наборе названия города. На iPhone это очень просто сделать, но я не могу понять, как получить этот языковой код на macOS. Может ли кто-нибудь помочь мне, пожалуйста?
Обновить
По совету Лео я сейчас нахожусь на этапе, когда получаю текущий вклад с помощью углеродного фреймворка.
let source = TISCopyCurrentKeyboardInputSource().takeUnretainedValue()
let lang = TISGetInputSourceProperty(source, kTISPropertyInputSourceLanguages).assumingMemoryBound(to: NSArray.self).pointee
Проблема в том, что TISGetInputSourceProperty()
возвращает UnsafeMutableRawPointer
. И я не могу найти способ преобразовать его во что-то читаемое. Я предполагаю, что это NSArray
, но мне не удалось его преобразовать. Может кто-нибудь помочь, пожалуйста?