InAppSettingsKit с несколькими локализациями

Я использую InAppSettingsKit в своем приложении для iPad, включая локализованные строки для английского, немецкого и японского языков. Все работает просто отлично, но я хотел бы иметь возможность переключать языки в приложении, и это не поддерживается InAppSettingsKit. Вот мой метод showSettings:

// show the inapp settings view
-(void) showSettings
{
  IASKAppSettingsViewController *settingsViewController = [[IASKAppSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
  settingsViewController.delegate = self;
  settingsViewController.showDoneButton = YES;

  UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:settingsViewController];

  [self presentModalViewController:navController animated:NO];
}

таким образом, настройки VC воссоздаются каждый раз, но, похоже, для повторного использования выбора языка с первого запуска приложения.

Выбор языка пользователя записывается как в мою личную настройку "языка" в [NSUserDefaults standardUserDefaults] а также массив "AppleLanguages".

Где / как кэшируется информация о старом языке?

1 ответ

Решение

Это стандартное поведение iOS, и обычно вы не должны стремиться изменить его. Возможно, вы могли бы изменить его, используя ключ AppleLanguages ​​(или другой ключ) в NSUserDefaults, но AFAIK текущий язык всегда статичен после запуска приложения.

Другие вопросы по тегам