Мне нужно добавить пользовательский язык (в iOS нет локализации для него) среди языков поддержки.Пользователь может выбрать нужный язык в настройках приложения (встроенный экран, нет в настройках приложения).Я сохраняю его в NSUserDefaults
:
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"lv"] forKey:@"AppleLanguages"];
В следующий раз, когда приложение запускается, оно загружается с выбранным языком.И прекрасно работает.
Но вот небольшая проблема.Приложение должно быть перезапущено.Таким образом, мне нужен способ выхода из приложения.
Я не хочу добавлять UIApplicationExitsOnSuspend
к Info.plist
, потому что обычно пользователь не переключает языки, поэтому я хочу, чтобы приложение обычно работалов фоновом режиме и возобновляет работу, когда пользователь возвращается.
Я знаю, мне не разрешено завершать процесс с помощью exit()
.Таким образом, я представляю, возможно, можно установить UIApplicationExitsOnSuspend
во время выполнения?Сценарии будут похожи на это: пользователь устанавливает желаемый язык и подтверждает его.Приложение устанавливает UIApplicationExitsOnSuspend
(или делает что-то подобное).Приложение инструктирует пользователя выйти из приложения, нажав кнопку «Домой».
Конечно, я могу поручить пользователю выйти из приложения, убив процесс (перейдите на Начальный экран, дважды нажмите кнопку «Домой», нажмите иудерживайте значок приложения, нажмите минус).Но это выглядит сложным и раздражающим.
Может быть, у вас есть другие предложения, как добавить в приложение возможность переключения языков?