GUI застрял с uibackgroundmodes = voip, аудио - PullRequest
3 голосов
/ 03 ноября 2010

У меня есть приложение на основе вкладок.Когда я добавляю свои plist UIBackgroundModes (мое приложение должно поддерживать VoIP), графический интерфейс не загружается.Это отстой на экране заставки и не загружает первый вид вкладки.Когда я удаляю свойство UIBackgroundModes из info.plist, он работает нормально.Более того, нажатие кнопки домой, когда оно застряло, ничего не делает.Кто-нибудь сталкивался с подобной проблемой?(Проблема существует на симуляторе)

Спасибо,

Нава

Ответы [ 4 ]

3 голосов
/ 28 ноября 2010

Похоже, что проблема возникает только на симуляторе, она работает на устройстве ... Таким образом, решение (временное) не в том, чтобы поместить UIBackgroundModes в info.plist для версии симулятора.

0 голосов
/ 09 февраля 2012

Я тоже вижу эту ошибку.Это очень раздражает.Как будто приложение застряло в симуляторе и не будет продолжать работать.Когда это происходит, я знаю, как его «открепить».

В симуляторе я просто захожу в меню «Оборудование»> «Блокировка» и снова разблокирую телефон.Теперь я останавливаю отладчик и снова запускаю приложение.Это, кажется, возвращает его к жизни.

К счастью, эта ошибка не возникает на реальном телефоне, только в симуляторе.

0 голосов
/ 03 ноября 2010

Поддержка фоновых переходов состояний
Поддержка фонового перехода состояний является частью фундаментальной архитектуры для приложений в iOS 4 и более поздних версиях.Хотя технически единственное, что вам нужно сделать, чтобы поддержать эту возможность, - это установить связь с iOS 4 и более поздними версиями, для правильной поддержки требуется некоторая дополнительная работа.В частности, ваш делегат приложения должен реализовать следующие методы и реализовать соответствующее поведение в каждом из них:

  • application: didFinishLaunchingWithOptions:
  • applicationDidBecomeActive:
  • applicationWillResignActive:
  • applicationDidEnterBackground:
  • applicationWillEnterForeground:
  • applicationWillTerminate:

Являясь ответственным, многозадачным приложением, осведомленным
Приложения, которыезапуск в фоновом режиме более ограничен в том, что они могут сделать, чем приложение переднего плана.И даже если ваше приложение не работает в фоновом режиме, существуют определенные рекомендации, которым вы должны следовать при реализации приложения.

  • Не делайте никаких вызовов OpenGL ES из своего кода.Вы не должны создавать объект EAGLContext или выполнять какие-либо команды рисования OpenGL ES любого вида.Использование этих вызовов приведет к немедленному завершению работы вашего приложения.
  • [...]

Руководство по программированию приложений iOS

0 голосов
/ 03 ноября 2010

Вы несете ответственность за загрузку / выгрузку интерфейса при входе и выходе из фонового режима.Вам также нужно будет соответствующим образом обновить интерфейс при выходе из фона.

iOS немного помогает, сделав снимок экрана перед тем, как перевести приложение в фоновый режим, и отобразить его при выходе приложения на передний план (немного похоже на Default.png при запуске приложения), а также некоторое кэширование UIImage.

Возможно, стоит поделиться некоторым кодом.

...