У моего приложения есть настройки в настройках.

Пользователь может изменить настройку.

После того, как пользователь применит изменения и запустит приложение. поскольку приложение, запущенное ранее, поддерживает многозадачность, поэтому изменения, примененные к настройке, не будут применяться к приложению. Если только пользователь не закроет задачу и не перезапустит приложение.

Поэтому я бы реализовал оператор if в приложении:

If (settingBool == 1){ 'перезапустил приложение' } else { 'Многозадачность продолжает работать' }

Благодарность

0
Alish 13 Мар 2011 в 11:14

1 ответ

Вы можете сообщить своему приложению, что в - (void)applicationDidBecomeActive:(UIApplication *)application
могут быть новые настройки. Установите флаг или отправьте уведомление, которое сообщает каждому объекту, имеющему кэшированные настройки, прочитать их снова из NSUserDefaults.

1
Matthias Bauch 13 Мар 2011 в 12:44
Спасибо за попытку. Я это знаю, но я хочу, чтобы после появления applicationDidBecomeActive перезапустить приложение. Как я могу это реализовать?
 – 
Alish
13 Мар 2011 в 14:41
1
Вы не можете перезапустить приложение. Вы можете «завершить» свое приложение с помощью exit(0); но для пользователей это выглядит как сбой, вы получите огромное количество электронных писем об этом, и если команда проверки яблок обнаружит это, они, скорее всего, отклонят ваше приложение. И вы не можете запустить свое приложение. Пользователь должен запустить его снова
 – 
Matthias Bauch
13 Мар 2011 в 16:28