AppleLanguages值覆盖IOS设置首选语言中设置的语言值

我正在努力本地化我的应用程序,支持西class牙语和英语语言。这些选项列在tableview.On英语我在NSUserDefaults.So中设置键“AppleLanguages”的值“en”,它可以显示内容用英文。

NSUserDefaults *nsdefault=[NSUserDefaults standardUserDefaults]; [nsdefault setObject:[NSArray arrayWithObject:@"en"] forKey:@"AppleLanguages"]; [nsdefault synchronize]; 

也在同一时间,我试图通过代码手动设置在通用>>国际>>语言的IOS设备获取语言编程。

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

但是,如果我从西class牙语或英语等列表中更改我的选项,并为“AppleLanguages”键设置值,它将覆盖设备设置语言的价值。在设置>>国际>>语言下,我没有得到正确的语言价值。

我希望每次我在Francis等设置中手动select语言。我应该能够获得新设置的语言。我甚至试图通过苹果链接。

https://developer.apple.com/library/mac/documentation/macosx/conceptual/bpinternational/Articles/ChoosingLocalizations.html

任何帮助,将不胜感激。

没有一个正确的方法来做到这一点,你不应该这样做。
你只应该依靠系统设置。 我给你一个不这样做的理由:所有的系统调用都是用系统语言编写的。 如果您在英文系统中强制使用西class牙语等一种语言,并且在应用程序内部显示地图,则会看到所有的英文街道,如果您要求反向地理编码或其他系统服务,则会发生同样的情况。