我们的客户在App-Store上收到了应用程序语言选择错误的报告。
我自己试图找到解决方案,但我无法正确读出用户在设置页面上设置的设置。
信息:
问题:
应用程序做了什么?
[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]
(首选语言)[[NSLocale autoupdatingCurrentLocale] objectForKey:NSLocaleLanguageCode]
(获取区域格式)[[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
在第一个位置使用autoupdatingCurrentLocale [[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
在第一个位置使用后备语言(en)[[NSUserDefaults standardUserDefaults] synchronize];
[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]
不再发生变化。
如何正确解决此问题?有什么想法吗?
答案 0 :(得分:0)
通过谷歌搜索为自己找到解决方案。
在我们完成语言杂耍并在NSUserDefaults中设置它之后(如上所示),我们想要“重置”NSUserDefaults standardUserDefaults中的AppleLanguages对象。
使用以下命令实现:
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@“AppleLanguages”]
放置此命令的位置?
在你的代表中didFinishLaunchingWithOptions。
此时删除是安全的,因为所有的包初始化都已完成(在主方法中)。 AppleLanguages对象正在恢复,然后再次反映系统设置。