Ich erstelle eine App, mit der Benutzer die Ortszeit überall auf der Welt überprüfen können. Die Informationen werden mithilfe von Google APIs abgerufen und alle funktionieren gut, aber um die besten Ergebnisse zu erzielen, muss ich die Sprache angeben, die ich verwenden möchte.Ermitteln der aktuellen Eingabesprache
Offensichtlich ist es in meinem Fall sinnvoll, die Sprache festzulegen, die der Benutzer beim Eingeben eines Städtenamens verwendet hat. Auf dem iPhone ist das kinderleicht, aber ich kann nicht herausfinden, wie ich diesen Sprachcode auf macOS bekommen kann. Könnte mir bitte jemand helfen?
aktualisieren
Nach einer Beratung von Leo ich jetzt auf der Bühne bin, wenn ich mit Hilfe von Kohlenstoff Rahmen der aktuellen Eingabe bin immer.
let source = TISCopyCurrentKeyboardInputSource().takeUnretainedValue()
let lang = TISGetInputSourceProperty(source, kTISPropertyInputSourceLanguages).assumingMemoryBound(to: NSArray.self).pointee
Das Problem ist, dass TISGetInputSourceProperty()
eine UnsafeMutableRawPointer
zurückgibt. Und ich kann keinen Weg finden, es in etwas Lesbares umzuwandeln. Ich nehme an, es ist ein NSArray
, aber ich habe kein Glück zu versuchen, es zu konvertieren. Kann mir bitte jemand helfen?
Haben Sie die gewünschte Sprache in der Sprache und Region Präferenzen wissen? – Willeke
Die Eigenschaft ist CFString. –