Das Ändern der Sprache unter iOS 8.1 Simulator funktioniert nicht


76

Wenn ich die Sprache auf einem iOS 8.1-Simulator auf irgendetwas ändere und versuche, dies anhand des Codes mit zu erkennen

NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0];
NSLog(@"Language: %@", language);

Ich bekomme "en" zurück. Ich habe versucht, den Navigator usw. zurückzusetzen. Ich habe dies mit der iOS 7.1-Laufzeit (in Xcode 5.1.1) versucht, und es hat einwandfrei funktioniert. Hat es jemand geschafft, eine Problemumgehung für dieses Problem zu finden?


Sie sollten einen Fehler darüber einreichen.
Dasdom

Überprüfen Sie den Abschnitt "Bekannte Fehler" in den Versionshinweisen.
Kevin

1
Derzeit haben Sie diesen Simulator-Fehler mit Xcode Version 6.1 (6A1052d) und OSX Ver 10.9.5. Der obige korrekte Code gibt en im Simulator zurück, wobei die Sprache auf Chinesisch (vereinfacht) eingestellt ist, während das tatsächliche iPad erwartungsgemäß "zh-Hans" zurückgibt.
Ich

1
Nach dem Upgrade meiner Entwicklungsmaschine auf Yosemite funktioniert der 7.1-Simulator weiterhin ordnungsgemäß. 8.1 schlägt weiterhin fehl.
Harry

1
Dies scheitert definitiv noch für mich in einem 8.1-Simulator.
Estel

Antworten:


167

Laut den Versionshinweisen ist dies ein bekanntes Problem. Es gibt eine Problemumgehung. Wenn Sie zu "Schema bearbeiten ..." gehen, gibt es auf der Registerkarte "Optionen" eine Option "Anwendungssprache". Dies wirkt sich nur auf die aktuellen Ausführungseinstellungen aus, nicht auf die App, ähnlich wie das Ändern der Sprache des Geräts.

Geben Sie hier die Bildbeschreibung ein


3
Funktioniert für Apps, aber anscheinend nicht für Erweiterungen.
Koraktor

3
Dies muss als Antwort akzeptiert werden. Apple bietet zwar keine Lösung für den iOS-Simulator-Fehler, muss dies jedoch tun. Diese Antwort bietet jedoch die beste Problemumgehung, um Ihre Apps lokal auszuführen. Meiner Meinung nach ist dieser Ansatz viel besser, wenn Sie Ihre App nur lokal ausführen müssen und sich nicht darum kümmern müssen, die Systemsprache im Simulator zu ändern.
i4niac

Dies ist schneller als das Ändern der Spracheinstellungen im Simulator - schön!
Benutzerdefinierte Bonbons

2
Diese Arbeit nur teilweise für mich. Die Storyboard-Lokalisierung funktioniert, aber keine lokalisierten Zeichenfolgen = \
CTiPKA

Verwenden Sie "Systemsprache", anstatt eine konkrete Sprache festzulegen. Dies ist hier eine weitere Option. Dadurch wird die Simulatorsprache gültig.
Snoersnoer


1

Mein Simulator ist in französischer Sprache. Wenn ich die Benutzeroberfläche auf Englisch überprüfen möchte, reicht es nicht aus, die iPhone-Sprache zu ändern. Ich muss die Regionseinstellungen mindestens zweimal ändern.


0

benutze [[NSLocale availableLocaleIdentifiers]


0

In meinem Fall funktioniert das Bearbeitungsschema für die Region, nicht jedoch für die Sprache. Es sieht nach Entwicklungssprache überschrieben aus. Das Ändern von developmentRegion funktioniert gut mit project.pbxproj wie folgt.

developmentRegion = ja;

Geben Sie hier die Bildbeschreibung ein

Xcode Version 11.3.1 (11C504)

iPhoneX iOS 13.3.1

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.