2017-02-17 15 views
5

Я загружаю файл на сервер, используя данные из нескольких форм с NSURLSession. Когда приложение идет в фоновом режиме, я хочу приостановить запрос и возобновить, когда приложение снова появится на переднем плане. Поэтому я просто делаю [session suspend] и [session resume]. Это нормально работает, когда приложение выходит только в фоновом режиме. Но если устройство блокируется, когда вы возвращаетесь на передний план и пытаетесь возобновить работу, я получаю сообщение об ошибке сетевого соединения. Я понимаю, что когда устройство заблокировано, все открытые сокеты закрыты и, следовательно, проблема, но есть ли способ сделать это без необходимости запуска загрузки с самого начала?NSUrlSession приостанавливает и возобновляет выпуск при блокировке устройства

ответ

2

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

+0

Проблема заключается в том, что для загрузки NSUrlSession необходимо загрузить непосредственно из файла, но поскольку мы используем данные с несколькими данными, мы должны перейти с приостановкой/возобновлением. –

+1

сохранить его в файл? : D –

+0

Проблема заключается в ограничениях сервера, а не на клиенте. –

0

К сожалению, согласно documentation, вам необходимо использовать файл для загрузки фона.

С «фоновой передачи соображения»:

загрузить только задачи из файла поддерживаются (загрузка из объектов данных или поток не сможет после выхода из программы).

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

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

  • Нет связанных вопросов^_^