iPhone SDK, Запуск приложения в фоновом режиме и отправлять частые HTTP-запрос - PullRequest
1 голос
/ 10 февраля 2011

Я пытаюсь воспользоваться функцией многозадачности iPhone 4. Я хочу запустить приложение в фоновом режиме и часто отправлять http-запрос на отправку / получение данных, возможно ли это?

Ответы [ 3 ]

1 голос
/ 10 февраля 2011

Удивительно, но в iOS 4.x «многозадачности» происходит очень мало времени.Вместо этого происходит просто приостановка / возобновление работы приложения.Когда приложение отправляется в фоновый режим после того, как пользователь нажал кнопку «Домой», оно через некоторое время прекратит получать циклы выполнения (*).

(*) Есть несколько исключений.Приложения, которые объявляют себя «провайдерами VoIP», приложениями на основе определения местоположения и музыкальными приложениями, могут получать циклы фонового выполнения, предположительно только при выполнении этих весьма специфических операций в ответ на соответствующие события (например, при «значительном изменении местоположения»).Некоторые приложения, по-видимому, пытаются расширить правила и найти недокументированные или недостаточно документированные методы для продолжения получения циклов фонового выполнения.

И «запрошенное время выполнения», о котором упоминал Undeadlegion, ограничено по продолжительности.1006 * Реальность такова, что на iOS4 приложениям не разрешено непрерывно работать в фоновом режиме.

1 голос
/ 10 февраля 2011

@ Undeadlegion предложил вероятный способ достижения вашей цели. Чтобы быть более понятным, взгляните на мой предыдущий ответ на аналогичный вопрос в SO, iphone - Подключение к серверу в фоновом режиме

1 голос
/ 10 февраля 2011

Можно запросить время выполнения, пока приложение находится в фоновом режиме.

См. Руководство разработчика по многозадачности

Хотя, в зависимости от цели ваших http-запросов, push-уведомления могут быть жизнеспособной альтернативой.

Это может бытьнеобходимо, потому что вы не предоставляете аудио, voip или службы определения местоположения, поэтому ваше приложение не может работать в фоновом режиме бесконечно.

...