2017-09-25 3 views
0

Ich arbeite an einer App auf Watch App. Die App-Version ist Watch 2.0 und ich verwende den xcode 7.3.1. und die schnelle Version ist 2, die ich in meinem Code verwendet habe.Holen Sie sich die aktuelle Region des Benutzers auf Watchkit 2.0

Jetzt ist das Problem, ich möchte eine Warnung entsprechend der aktuellen Sprache anzeigen, die in der Uhr des Benutzers ausgewählt ist. Aber ich bin nicht in der Lage, die aktuelle Sprache der Uhr zu bekommen. Es gibt immer das en_us zurück. Ich habe die vielen Posts überprüft, aber keine Lösung hat für mich funktioniert.

So jetzt habe ich mich entschieden, die Warnung entsprechend der Benutzerregion anzuzeigen. Ich habe den Code überprüfen, auf iphone seine ordnungsgemäß funktioniert, aber ich weiß nicht, dass, wenn watchkit der Lage ist, die aktuelle Region Benutzer.Verfahren Code zu erkennen, die ich verwendet habe die aktuelle Region zu überprüfen ist:

let countryCode = NSLocale.currentLocale().objectForKey(NSLocaleCountryCode) as! String 
     print("countryCode\(countryCode)") 

Wenn jemand Irgendeine Idee darüber dann bitte suggeriere mich. Danke im Voraus.

+1

Warum verwenden Sie nicht Xcode 9, Swift 4 und WatchOS 4? – LinusGeffarth

+0

Danke für die Wiederholung. Eigentlich arbeite ich an einem Projekt und der Client des Projekts möchte den Code der funktionierenden mobilen App nicht aktualisieren. Also muss ich die neue Funktionalität in der gleichen Version hinzufügen. –

Antwort

0

Sie sollten let userLanguage = Locale.preferredLanguages.first verwenden, um die Sprache zu erhalten, die derzeit vom Benutzer verwendet wird. Diese API ist verfügbar von watchOS2, so dass sollte in Ordnung sein, aber ich konnte Swift 2 nicht testen, so dass die Eigenschaftsnamen leicht abweichen können.

+0

Hallo, Danke für deine Antwort, aber ich versuche es schon. Es wird immer dieselbe Sprache im Simulator zurückgegeben (z. B. en_US). Und das andere Problem ist, dass der Uhrensimulator keine Möglichkeit hat, die Sprache des Gerätes zu ändern. Es gibt also keine Möglichkeit die Watch App zu testen. –

+0

Sie sollten eher auf einem echten Gerät als auf dem Simulator testen. Außerdem, so weit ich weiß, verwendet die Watch die gleichen Spracheinstellungen wie Ihr Telefon, daher sollte die Sprache der Uhr auch die Sprache der Uhr ändern. –

+0

Also, wenn ich die mobile Sprache auf Chinesisch setze, wird die Sprache durch die ausgewählte Sprache ersetzt? ist das möglich am realen gerät oder am simulator ?? –

Verwandte Themen