Как загрузить начальный вид при каждом запуске приложения? - PullRequest
1 голос
/ 19 июля 2010

Я довольно новичок в разработке приложений для iphone. Я создаю приложение, которое имеет несколько просмотров. Сначала он начинается с представления для аутентификации, а затем загружает представления в соответствии с взаимодействием с пользователем. Когда я создаю и запускаю приложение - в первый раз оно показывает экран «Default.png», а затем показывает первое представление, в котором я выполняю процесс аутентификации (вводя идентификатор пользователя, пароль и веб-службу), а затем после того, как учетные данные проверил, что приводит меня к следующему мнению. Когда я закрываю приложение в этом состоянии в симуляторе и снова открываю его, я вижу то же состояние, в котором я закрыл свое приложение. Но вот чего я хочу. Когда я перезапущу приложение, я смогу показать «DEfault.png» и экран, а затем отобразить мой первоначальный вид аутентификации. Можете ли вы помочь мне в этом? Спасибо

Ответы [ 2 ]

1 голос
/ 19 июля 2010

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

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

  1. Кэшируйте учетные данные (т. Е. Имя пользователя и пароль) и молча используйте их для возобновления сеанса при необходимости. Если сервер поддерживает это.
  2. Определите, когда сеанс устарел, и откройте окно, чтобы проинформировать пользователя о том, что сеанс истек, и попросите его снова войти в систему. Это также решит проблему, если пользователь сохранит приложение активным после истечения времени ожидания сеанса.

Оба эти подхода должны улучшить воспринимаемую производительность приложений и лучше интегрироваться в рекомендации по удобству использования Apple.

0 голосов
/ 19 июля 2010

Это потому, что приложения для iOS 4 должны поддерживать многозадачность.Вы можете изменить приложение так, чтобы оно не выполнялось: в Info.plist установите для UIApplicationExitsOnSuspend значение true (т. Е. <key> UIApplicationExitsOnSuspend</key><true/>) - убедитесь, что это логическое значение, а не строка.Обратите внимание, что это, вероятно, замедлит запуск, поскольку приложение должно быть запущено снова.

Другой способ - обработать applicationDidEnterBackground: в делегате приложения и выполнить две вещи:

  • Сбросьте вашу иерархию просмотра (вы можете сделать это при следующем запуске, но если вы сделаете это раньше, это может помочь освободить больше памяти)
  • Показать «Default.png» в полноэкранном режиме - iOS сделает снимок экрана вашегоприложение после его скрытия, которое используется для анимации приложения обратно.
...