2016-05-24 4 views
4

Ich versuche, die richtige Sprache in meinem Gerät zu bekommen mit dem folgenden Code (nicht im SIMULATOR ist):NSLocale preferredLanguages ​​abruft immer ‚en‘ Sprache

NSString * languageLocale = [[NSLocale preferredLanguages] objectAtIndex:0]; 

Und es ist immer ‚en ' aber meine aktuelle Sprache ist auf eingestellt Spanisch

Alle Gedanken, warum immer immer' en 'abrufen und nicht die aktuelle Sprache Gerät?

+0

Sind nicht die * bevorzugte * Sprache und die * Gerät * Sprache verschiedene Dinge? – trojanfoe

+0

Entsprechend dieser Frage nein: http://stackoverflow.com/questions/3910244/getting-current-device-language-in-ios – ZetaPR

+0

Warum holen Sie die Sprachkennung von NSLocale? Wofür brauchst du es? – wakachamo

Antwort

1

Nach ein paar Recherchen fand ich heraus, dass der Schlüssel AppleLanguages ​​überschrieben wurde. Also, die

NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; 
[defaults objectForKey:@"AppleLanguages"]; 

Es wurde eine Wörterbuch Liste mit den überschriebenen Daten zurück. Ich habe gerade dies:

NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; 
NSDictionary * dict = [defaults dictionaryRepresentation]; 
for (id key in dict) { 
    if([key isEqualToString:@"AppleLanguages"]){ 
     [defaults removeObjectForKey:key]; 
    } 
} 
[defaults synchronize]; 

Um den gesamten Schlüssel und das System neu aus und halten die richtige Liste zu löschen.

+0

Etwas in Ihrer App überschreibt diesen Schlüssel, der wahrscheinlich entfernt werden sollte. – wakachamo

+0

Ja, ich habe herausgefunden, wo, aber die Sache ist, die App ist bereits im AppStore und die Variable wurde bereits überschrieben, so dass ich es schaffe, dies zu tun, damit die App so funktioniert, wie sie funktionieren sollte. – ZetaPR

3

Ich muss mit dem gleichen Problem konfrontiert werden. In meinem Fall wurde es gelöst, indem die Anwendungssprache als Systemsprache im Bearbeitungsschema eingestellt wurde. Hier

ist die Art und Weise:

Schema bearbeiten -> Optionen -> Anwendungssprache -> Systemsprache.

Verwandte Themen