我们希望在iOS应用中使用特定于应用的区域设置,而不管设备区域设置。我们希望让用户在应用程序登录/设置屏幕中为应用程序选择所需的区域设置。用户选择任何区域设置后,无论设备区域设置如何,都将使用区域设置自动更新应用程序数据。
我们通过设置AppleLanguages
中的NSUserDefaults
可以更新应用的当前区域设置:
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:selectedLanguage, nil] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
然而,一旦我们杀死&重启应用程序。
我发现的另一种方法是根据语言环境更改资源文件夹。我发现这种方法存在两个问题:
NSLocalizedString
相关的代码替换为使用[NSBundle localizedStringForKey]
获取字符串的代码使用它有什么方法我们可以允许应用特定的区域设置选择吗?