Изменение языка устройства, когда приложение находится в фоновом режиме - PullRequest
1 голос
/ 12 июня 2011

Я запускаю приложение iPod touch, затем захожу в фоновом режиме, меняю язык устройства из приложения «Настройки» и пытаюсь вывести это приложение на передний план.Мое приложение перезапускается, и я не оказываюсь на экране, на котором я оставил приложение, когда ушел в фоновый режим.

Это потому, что приложение KILL посылает сигнал KILL при изменении языка?Это желаемое поведение?

1 Ответ

1 голос
/ 12 июня 2011

Я не знал, что переключение языка приведет к закрытию приложений, но это не шокирует. Это очень простой способ получить то, что хочет пользователь. Однако ваша проблема не в изменении языка. Проблема в том, что вы не отвечаете правильно на уведомление о прекращении. Вас могут уволить в любое время, когда вы находитесь в фоновом режиме, и ваша задача - справиться с этим.

Ваш представитель приложения должен реализовать applicationWillTerminate: (или вы можете наблюдать UIApplicationWillTerminateNotification, где это удобно). Когда вы получите это, вы должны сохранить достаточно информации, чтобы вернуться туда, где вы были при перезапуске. Насколько это возможно, вы должны убедить пользователя, что вы не прервали его. Самым простым местом для сохранения состояния обычно является NSUserDefaults, но вы можете использовать любой понравившийся вам механизм.

Обработка перезапуска приложений - одна из тех вещей, которая отличает превосходные приложения iOS от «достаточно хороших».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...