Нормально ли, чтобы другое приложение могло выйти из моего приложения?

Я реализую поддержку JACK ( http://www.crudebyte.com/jack-ios/) в моем приложении ( http://audulus.com/ если вам интересно).

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

Должен ли JACK вместо этого иметь интерфейс для отключения приложения, а не выхода из него?

Релевантная информация:

http://developer.apple.com/library/ios/

http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html см. "Не выходите программно"

2 ответа

abort() не является строго незаконным: рецензенты Apple сканируют ваш код на наличие запрещенных вызовов API и abort() не среди них, если говорить по опыту. Также рассмотрите язык QA, на который вы ссылаетесь: он говорит только о "обескураживающем" и "рекомендующем" против использования exit() а также abort(),

В этом отношении, что QA и HIG, кажется, предполагают, что использование exit()/abort() было бы неправильно, если бы это приводило к плохому пользовательскому опыту: "поставьте пользователей под контроль", говорит HIG. Но если JACK действительно представляет пользовательский интерфейс, который четко объясняет, что ваше приложение будет закрыто, и пользователь решит закрыть ваше приложение на основе этого пользовательского интерфейса, вы фактически сохраняете контроль, программно выходя из приложения.

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

Нет, не правильно выходить из приложения программно. Документы Apple довольно понятны:

https://developer.apple.com/library/ios/

Другие вопросы по тегам