iOS: генерирует ли exit (0) отчет о сбое, и если да, то какова альтернатива? - PullRequest
1 голос
/ 12 декабря 2011

Я слышал, что простое использование exit () и даже предоставление нулевого параметра приведет к тому, что iOS сгенерирует отчет о сбое. Но в некоторых случаях лучше выполнить выход (0). Итак, каков приемлемый способ выхода из приложения, если exit () не разрешен? Спасибо.

Ответы [ 4 ]

1 голос
/ 12 декабря 2011

Не существует приемлемого способа выхода из приложения.Из Руководства по интерфейсу iOS для человека :

Не выходить программно

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

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

Если не работают только некоторые функции вашего приложения., отображать экран или предупреждение, когда люди активируют функцию. Отображать предупреждение только тогда, когда люди пытаются получить доступ к функции, которая не работает.

1 голос
/ 12 декабря 2011

A) не вызывайте exit как часть обычного потока приложения.Это наверняка приведет к отклонению вашего приложения из магазина приложений.

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

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

0 голосов
/ 12 декабря 2011

Если вы хотите, чтобы ваше приложение больше не находилось на переднем плане, отправьте действительный URL-адрес в Safari.Если вы не хотите, чтобы ваше приложение находилось в фоновом режиме, когда Safari выходит на передний план, установите ключ UIApplicationExitsOnSuspend в списке свойств вашего приложения.Если «каким-то образом» проверка целостности приложения не удалась (неверная контрольная сумма кода подтверждения получения и т. Д.), То, возможно, очистите некоторые пулы памяти и / или свой собственный стек вызовов и разрешите ОС справиться с этим.

0 голосов
/ 12 декабря 2011

Зачем вам программно выходить из системы / завершать работу приложения?Если вы расскажете нам больше о том, что вы пытаетесь сделать, люди могут подумать о работе вокруг

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