iOS:应用程序特定的区域设置

时间:2015-04-13 07:39:18

标签: ios localization nsuserdefaults

我们希望在iOS应用中使用特定于应用的区域设置,而不管设备区域设置。我们希望让用户在应用程序登录/设置屏幕中为应用程序选择所需的区域设置。用户选择任何区域设置后,无论设备区域设置如何,都将使用区域设置自动更新应用程序数据。

我们通过设置AppleLanguages中的NSUserDefaults可以更新应用的当前区域设置:

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:selectedLanguage, nil] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];

然而,一旦我们杀死&重启应用程序。

我发现的另一种方法是根据语言环境更改资源文件夹。我发现这种方法存在两个问题:

  1. 在整个应用中,我们必须将与NSLocalizedString相关的代码替换为使用[NSBundle localizedStringForKey]获取字符串的代码
  2. 键盘将根据设备区域设置显示。
  3. 使用它有什么方法我们可以允许应用特定的区域设置选择吗?

0 个答案:

没有答案