Как открыть приложение "Настройки" из моего приложения?

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

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

Я смутно помню, что iPhone jailbreaking люди выяснили способ запуска настроек или других приложений через забавный URL или номер телефона в адресной книге, но я не нахожу информацию об этом в Google.

: (

Ответ 1

Насколько я знаю, нет санкционированного способа открыть настройки из другого приложения.

По-моему, вы должны просто запрашивать значения, если они вам понадобятся при запуске, храня их в NSUserDefaults и, возможно, направляя ваших пользователей искать в Settings.app, если им нужно изменить эти настройки в будущем.

К сожалению, это означает, что для минимального пользовательского интерфейса пользователь должен заполнить свои настройки во время первого запуска, но мне кажется, что это лучше с точки зрения UX для меня, чем лишить пользователя радости от использования приложения сразу.

Ответ 2

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

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

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

Apple делает это уже - просто посмотрите на мобильную почту.

Ответ 3

Одним из возможных решений, предложенных выше, является создание собственного диалогового окна настроек. Я нашел этот проект http://www.inappsettingskit.com/, который вы можете включить в свое приложение, и он показывает те же настройки, что и iOS. Я еще не тестировал его, но теперь буду делать.