iOS - убить приложение кнопкой?

У меня есть приложение, которое работает какое-то время, но его нужно сбрасывать каждый день, потому что его жизненный цикл немного отличается от жизненного цикла большинства других приложений. Кажется, что самый простой способ сделать это — убить приложение и перезапустить его.

Я нашел решение, которое убивает приложение при нажатии кнопки «Домой»:

В Info.plist вашего приложения добавьте логический ключ UIApplicationExitsOnSuspend со значением YES.

Это не то, чем я хочу заниматься. Мне нужно дать пользователю возможность убить/сбросить приложение перед его использованием. Я, конечно, могу попросить пользователя дважды нажать клавишу «Домой» и закрыть приложение долгим нажатием>x. Тем не менее, это слишком сложно для некоторых пользователей.

Другим простым решением было бы сделать кнопку, которая делает что-то аварийное, например, деление на 0, хотя я не уверен, что магазин приложений будет наказывать мое приложение за «сбой» каждый день для всех пользователей.

Кто-нибудь нашел способ добавить кнопку "Выход" в приложение для iPhone? В Android я мог сделать system.exit(0), и это сработало. Какая альтернатива iPhone?


person Alex Stone    schedule 19.11.2011    source источник
comment
Да, App Store оштрафует вас за это большое время. Только пользователь должен решать, когда приложение должно закрыться.   -  person esqew    schedule 19.11.2011
comment
Может быть, если вы объясните, зачем вам нужно убивать приложение, у людей возникнут идеи, как можно добиться того же эффекта, не делая этого?   -  person shannoga    schedule 19.11.2011
comment
Если это для вашего приложения для осознанных сновидений ( luciddreamingapp.com/iphone-app), то я могу на самом деле не вижу причины, по которой вам нужно выйти из приложения.   -  person Jesse Rusak    schedule 19.11.2011
comment
Проблема, с которой я столкнулся с приложением для осознанных сновидений, заключается в том, что очень сложно отличить паузу приложения от остановки. Утром приложение останавливается, и оно будет перезапущено следующим вечером. Сброс приложения значительно упростит определение момента начала/остановки сбора данных. Я использую аналогичный подход в приложении для Android, и он работает хорошо.   -  person Alex Stone    schedule 21.11.2011


Ответы (1)


В Руководстве по пользовательскому интерфейсу iOS говорится: -SW27" rel="nofollow">Не выходить программно

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


exit(0); может закрыть приложение (0 — нормальный код), но Apple не нравится такой подход, и приложение будет отклонено на рассмотрении.

person beryllium    schedule 19.11.2011