Я хотел бы сделать пустой запрос POST и прочитать заголовки ответов, в то время как мое приложение iOS находится в фоновом режиме. Глядя на документацию, прямо говорится, что загружать и выгружать задачи поддерживаются в фоновом режиме, но есть две проблемы:NSURLSessionDataTask в фоновом режиме
- не нужно загружать контент, так что я не хочу, чтобы создать пустой файл использовать.
- Мне нужно получить заголовки, поэтому задача загрузки не предоставляет необходимые обратные вызовы делегатов.
Который оставляет меня с NSURLSessionDataTask
, для которых documentation состояния:
Примечание: Перед прошивкой 8 и OS X 10.10, задачи данных не поддерживаются в фоновом режиме сессий.
Однако another documentation page государства под тем же названием (фоновой передачи соображения):
только загружать и выгружать задачи не поддерживаются (нет данных) задачи.
Какую страницу с документацией верной? Являются ли NSURLSessionDataTasks без данных для загрузки в фоновом режиме?
Я пытаюсь реализовать многостраничный протокол загрузки, который требует от меня сделать запрос HEAD или POST, чтобы начать загрузку, и я хочу, чтобы он работал, даже когда приложение приостановлено. Дело в том, что я хочу иметь возможность отправлять запрос HEAD/POST на NSURLSession во время работы приложения, но даже если служба данных не доступна, и для записи ответа (без сохранения ответа на файл). – JustinHK
Когда вы инициируете фоновый запрос, единственными параметрами, которые он должен выполнять, пока приложение неактивно, является выполнение задачи загрузки или загрузки. Итак, почему бы вам просто не инициировать запрос на загрузку, а просто игнорировать загруженный блок ответа и просто посмотреть на «ответ» задачи, когда фоновый демон пробуждает ваше приложение? Честно говоря, я до сих пор не понимаю, почему веб-служба была спроектирована так, чтобы требовать два разных запроса при загрузке данных (просто инициируйте запрос на отправку фона, который будет запускаться фоновым демоном, когда будет установлено подключение к Интернету). – Rob
Служба поддерживает возобновляемые загрузки, поэтому вам нужно иметь возможность проверять текущее смещение загрузки с помощью запросов HEAD - например, этот API YouTube: https://developers.google.com/youtube/v3/guides/using_resumable_upload_protocol – JustinHK