2012-06-13 6 views
2

У меня есть веб-служба, которую я хочу использовать для загрузки изображения на сервер, прокси-классы веб-службы, созданные wsdl2objc, для выполнения мыльных вызовов использует NSOperation. Предположим, что во время процесса загрузки я нажимаю кнопку «домой», и приложение переходит в фоновый режим, что будет в этом случае? будет ли процесс загрузки завершен? или процесс будет завершен в любом случае.Загрузить изображения в фоновом режиме

ответ

5

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

Вы можете избежать этого путем упаковки кода загрузки в фоновом задании (с помощью методов beginBackgroundTaskWithExpirationHandler: и endBackgroundTask:), и в этом случае ОС позволит вашему приложению работать в фоновом режиме еще на 10 минут, чтобы завершить свою работу.

+0

Возможно ли иметь более одной фоновой задачи? – taffarel

+0

Да, вы можете иметь столько, сколько хотите. 'beginBackgroundTaskWithExpirationHandler:' возвращает идентификатор, который вы должны сохранить, а затем перейти к 'endBackgroundTask:' для сопряжения двух вызовов. Но независимо от того, сколько фоновых задач у вас есть, ОС не даст вам больше 10 минут времени. –

+0

спасибо, мне это помогает – taffarel

Смежные вопросы