If I change the language on an iOS 8.1 simulator to anything and try to detect this from code with
NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0]; NSLog(@"Language: %@", language);
I get “en” back. I’ve tried resetting the navigator, etc. I’ve tried this using the iOS 7.1 runtime (in Xcode 5.1.1), and it worked fine. Has anyone managed to find a workaround to this problem?
According to the release notes this is a known issue. There is a work around.
If you go to “Edit Scheme…” then the “Options” tab there’s an “Application Language” option. This only affects the current run settings, not the app, much like changing the language of the device.
Known and documented bug as mentioned in the Xcode 6.1 release notes. File a radar if you want to add your +1 to the complaint list at http://bugreport.apple.com
use [[NSLocale availableLocaleIdentifiers]
My simulator is in French language. When I want to check interface in English then changing the iphone language is not enough. I have to switch the region settings minimum two times.