2013-05-15 1 views
0

Я использую поддержку JACK (http://www.crudebyte.com/jack-ios/) в моем приложении (http://audulus.com, если вам интересно).это нормально для другого приложения, чтобы иметь возможность выйти из моего приложения?

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

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

Соответствующая информация:

http://developer.apple.com/library/ios/#qa/qa1561/_index.html

http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html см "Не Quit Программным"

+0

вы осуществляете поддержку в библиотеке JACK или рамках, которые другие приложения и разработчики могут воспользоваться, или вы только реализациями это для вашего собственного приложения? –

+0

Собираетесь ли вы опубликовать это в App Store? Если так, я не думаю, что вы можете это сделать. –

+0

@SpaceDust, FWIW, приложения, использующие JACK и предположительно имеющие это рекомендуемое поведение, уже находятся в магазине приложений. – Taylor

ответ

2

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

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

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

+0

У меня нет репутации, чтобы комментировать ответы других, к сожалению, но @wpearse, выполните поиск на странице «JackClientKilled», и вы обнаружите, что JACK предлагает клиентам программно завершить работу. –

+0

Хорошая точка - приложение JACK совершенно ясно, что он делает. Но я полагаю, что я предпочел бы, чтобы JACK избегала запрашивать все, что можно было бы интерпретировать как нарушение правил Apple. FWIW, AudioBus (альтернатива JACK), просто отключает приложения. – Taylor

0

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

https://developer.apple.com/library/ios/#qa/qa2008/qa1561.html

+0

просто выполните поиск выхода (0) на эту страницу. Его в их примере кода. – Taylor

+0

О, я вижу! Спасибо за указатель. Просто потому, что это в их примере код не означает, что это хорошая практика :) См. Обновленный ответ. – wpearse

 Смежные вопросы

  • Нет связанных вопросов^_^