Является ли это обоснованным основанием для выхода из приложения iPhone программным способом? - PullRequest
0 голосов
/ 01 июля 2011

Я знаю, что этот вопрос задавался много раз, и мы получили эту ссылку в ответ от Apple: http://developer.apple.com/library/ios/#qa/qa1561/

Однако недавно я встречался с этим случаем ниже.Я не вижу никаких других вариантов, кроме непосредственного использования «exit (0)».

У меня есть приложение, которое может собирать цифровые данные с камеры или микрофона моего iPhone.Затем я разработал кнопку с надписью «Сохранить и выйти», потому что это очень распространенный сценарий моего приложения.

Без возможности программного выхода из приложения у меня может быть только глупая кнопка «Сохранить».Затем мои пользователи должны щелкнуть дважды (1. кнопку «Сохранить», а затем 2. кнопку «Домой»), чтобы получить тот же результат - эти два действия последовательно.

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

Я удалил кнопку «Сохранить выход» и вместо этого добавил в нижней части заметку «Использовать кнопку HOME для сохранения и выхода».Я попытался поймать сигнал выхода из действий пользователя и затем выполнить СОХРАНЕНИЕ ранее.

Сделав это, пользователь может просто использовать встроенную кнопку HOME, чтобы выполнить команду «СОХРАНИТЬ и ВЫЙТИ».

Однако это решение не идеально.

Если моему приложению требуется слишком много времени для сохранения данных, у iOS все еще есть шанс убить мое приложение после того, как пользователь нажмет кнопку «HOME».Тогда пользователь может потерять свои данные без уведомления!

Если я могу выйти программным способом, я могу сначала попытаться «СОХРАНИТЬ».Если «СОХРАНИТЬ» не удается, у меня есть достаточно времени, чтобы проинформировать своего пользователя или выполнить всю необходимую работу по исправлению.

Считаете ли вы, что это правильное обоснование для использования «выхода (0)» в моем приложении безотвергнуто?

Ответы [ 2 ]

2 голосов
/ 01 июля 2011

Нет, я очень сомневаюсь, что Apple даст вам кнопку «сохранить и выйти». Это полностью противоречит соглашениям платформы и прямо противоречит HIG от Apple.

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

1 голос
/ 01 июля 2011

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

...