Приложение выхода в iOS 4.0

Прежде iOS4.0 нажатие кнопки "Домой" на iPhone выходит из приложения, и Apple имела в их руководстве, что программно выход из приложения не был принят.

теперь все изменилось в iOS4.0, нажимание кнопки "Домой" помещает Ваше приложение в приостановленный режим (многозадачность).. и я думаю, что должен быть ясный способ для пользователя выйти из приложения, как кнопка выхода.

это теперь в порядке с яблоком? и как это может быть сделано?

34
задан Vadim Kotov 8 September 2017 в 12:03
поделиться

3 ответа

Нет, все равно не следует этого делать.

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

Нет причин для выхода.

Редактировать

Поскольку это продолжает появляться снова: Рекомендации по человеческому интерфейсу iOS говорят: «Не выходите программно». И мы видели много отчетов о приложениях, в которых в прошлом были вызовы exit ().

Выход вместо приостановки путем установки соответствующего ключа в файле Info.plist, конечно, прекрасен - но это не специальная кнопка пользовательского интерфейса, а просто реализация выхода из программы с помощью кнопки «Домой» для конкретного приложения.

23
ответ дан 27 November 2019 в 16:12
поделиться

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

50
ответ дан 27 November 2019 в 16:12
поделиться

У меня была реальная проблема с этим. Есть большой смысл выходить из программы вручную или программно.

В предыдущей версии iPhone OS мое приложение при завершении работы записывало свое состояние (первое использование, второе и т.д.) в plist. Когда пользователь возвращался, он хотел показать разные вещи, читая plist. Кроме того, оно хотело показывать первый экран каждый раз, когда пользователь возвращался после выхода.

Когда приложение приостанавливается в фоновом режиме в iPhone OS4, оно возвращается туда, где остановилось (т.е. показывает тот же экран, на котором находился пользователь), и никогда не меняет своего состояния, потому что applicationWillTerminate теперь никогда не вызывается.

Поскольку именно такое поведение желательно в большинстве случаев (чтобы приложение продолжало работать, когда вы временно выходите из него), должен быть способ выбора, т.е. приостановить его или выйти.

Поскольку установка UIApplicationExitsOnSuspend=YES дает только один способ (т.е. приложение всегда завершается при нажатии HOME), это не то решение, которое я ищу.

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

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

Если дважды нажать кнопку HOME, можно увидеть приостановленные приложения. Я могу удалить (выйти) из приложения, нажав на него дольше и коснувшись символа (-), который появляется, но это не так интуитивно понятно для пользователей и слишком много шагов.

Другой вариант - иметь кнопку "Выход" в качестве одной из вкладок Nav Tabs в моем приложении, но это некрасиво. На данный момент единственным вариантом кажется установка UIApplicationExitsOnSuspend=YES.

3
ответ дан 27 November 2019 в 16:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: