Приложение для iPhone в приостановленном состоянии, запущенное по URL и показывающее Default.png - PullRequest
5 голосов
/ 29 октября 2010

Приложение отвечает на пользовательский URL и корректно запускается, когда находится в приостановленном состоянии.Вопрос в том, можно ли отключить отображение Default.png при запуске таким способом?

Вариант использования для ясности:

  1. приложение запускается нормально
  2. нажатие кнопки «Домой» переводит приложение в режим ожидания
  3. URL-адрес схемы, которую распознает приложение, используется в мобильном сафари
  4. пользователи видят файл Default.png до завершения запуска.

Как вы, вероятно, знаете, когда активируется быстрое переключение приложений, обычно приложение отображается со снимком экрана с последним состоянием, а не с именем Default.png.Я бы предпочел, чтобы это происходило и при запуске URL.

Ответы [ 3 ]

3 голосов
/ 29 августа 2011

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

Хотя я не мог найти способ заставить приложение отображать скриншот предыдущего состояния, я обнаружил, что приложение будет отображать схему Default- .png (например, Default-fb12345.png или Default-appname.png) при вызове с URL. Так что, если ваш скриншот после переключения приложения достаточно предсказуем, возьмите скриншот с iOS Simulator и скопируйте его в свое приложение. Я бы посчитал это ошибкой iOS. Приложение всегда должно отображать последний снимок экрана при переключении приложения, а не Default- схема .png просто потому, что используется URL.

Еще одна возможность, которую я не тестировал, состояла в том, чтобы символически связать схему комплекта Default- .png (и Default-scheme@2x.png) с файлом снимка. в домашнем каталоге приложения. Это будет Библиотека / Кэши / Снимки / [Идентификатор пакета] /UIApplicationAutomaticSnapshotDefault-Portrait@2x.jpg для большинства ситуаций (если это не пейзаж или iPad). Если состояние вашего приложения непредсказуемо, но ориентация зафиксирована, это может быть хорошим вариантом.

3 голосов
/ 29 октября 2010

Похоже, что быстрое переключение приложений на самом деле не работает. Итак:

  1. Убедитесь, что вы создаете приложение для SDK для OS 4.0. Если вы этого не сделаете, ваше приложение не будет иметь поддержки быстрого переключения приложений.

  2. Проверьте, работает ли быстрое переключение приложений нормально (иначе) с вашим приложением. И.Е. когда вы просто переключаетесь на safari, а затем повторно запускаете свое приложение, вы получаете "default.png"?

  3. Запустите приложение под отладчиком, но на вашем реальном устройстве. Сделайте так, чтобы проблема произошла, зайдите в Органайзер и просмотрите журналы устройства. Это покажет вам, была ли проблема с нехваткой памяти, из-за которой ваше приложение было прервано , когда Safari был запущен, таким образом, требуя, чтобы оно было перезапущено , когда был выбран URL .

  4. Я полагаю, что было установлено два механизма. В моем приложении я не поддерживаю «Запуск с URL» - но я делаю делаю - поддерживаю вызов делегата приложения:

-(BOOL) application:(UIApplication *) application handleOpenURL:(NSURL *) url {

В этом может быть разница - это вызов, который может быть сделан для приложения, которое выполняет до hand это URL для обработки. Если вы используете другую технику, используйте эту вместо . Я использую это и не вижу «default.png» - то есть не вызывает «чистый перезапуск» при получении вызова.

0 голосов
/ 17 апреля 2011

Убедитесь, что у вас установлена ​​клавиша «Необходимые фоновые режимы» в Info.plist для функции, которая требуется приложению. Если его нет в списке, я просто использую «App Plays Audio», чтобы он оставался открытым.

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