我正在构建一个应用程序,它允许用户查看世界各地的当地时间。正在使用 Google API 获取信息并且一切正常,但为了获得最佳结果,我需要指定我想使用的语言。
显然,就我而言,将所需语言设置为用户在输入城市名称时使用的语言是有意义的。在 iPhone 上,这非常容易做到,但我不知道如何在 macOS 上获得这种语言代码。有人可以帮我吗?
更新
根据 Leo 的建议,我现在正处于借助碳框架获得当前输入的阶段。
let source = TISCopyCurrentKeyboardInputSource().takeUnretainedValue()
let lang = TISGetInputSourceProperty(source, kTISPropertyInputSourceLanguages).assumingMemoryBound(to: NSArray.self).pointee
问题是TISGetInputSourceProperty()
返回一个UnsafeMutableRawPointer
. 而且我找不到将其转换为可读内容的方法。我认为它是一个NSArray
,但我没有运气尝试转换它。有人可以帮忙吗?