Фоновая выборка и фоновая передача в iOS для загрузки данных (JSON) на bakcground

Я занимаюсь обновлением одного из своих приложений до iOS 7 и подумал о том, чтобы попробовать новый многозадачный API. Я планирую использовать фоновую загрузку или тихие push-уведомления, чтобы поддерживать актуальность моего контента. В основном набор значений JSON. Я просмотрел большую часть документации/кода, скачал видео или изображения, и у меня есть следующие вопросы...

  1. Если мы используем фоновую выборку или тихие push-уведомления, нужно ли нам загружать данные с помощью отдельного backgroundSessionConfiguration? Или мы можем сделать это, используя существующую defaultSessionConfiguration? (Потому что я могу повторно использовать существующий метод, а не использовать отдельный метод для фоновых загрузок).

  2. Можно ли использовать фоновые передачи для загрузки большого набора данных, отличных от файловых ресурсов?

  3. Поскольку я знаю, что фоновая фоновая выборка позволяет выполнить задачу только около 1 минуты, можно ли использовать фоновую передачу внутри выборки, чтобы продлить этот период? (Я имею в виду, если мы запускаем фоновую передачу внутри этого запроса на фоновую выборку, приложение выполняет его и завершает задание. Или запускает его постепенно, например, приостанавливает его и возобновляет, когда приложение снова просыпается).


person rustylepord    schedule 13.04.2014    source источник


Ответы (1)


NSUrlSession поддерживает фоновую выборку только файлов. Это важное соображение в вашем дизайне.

1) Да, вам нужно создать конфигурацию сеанса для фоновых загрузок.

2) Нет, если вы не загрузите данные в файл, а затем прочитаете файл

3) Фоновая выборка также может выполняться поэтапно по частям, если вы обнаружите, что достигли ограничения по времени. Хотя время, необходимое для загрузки, обычно не учитывается, а только ваша обработка.

person sylvanaar    schedule 13.04.2014
comment
Правильно ли я скажу, что backgroundSessionConfiguration не поддерживает NSURLSessionDataTask, а поддерживает только задачи загрузки или загрузки? - person rustylepord; 13.04.2014
comment
Да, задачи с данными не поддерживаются в фоновых сеансах - person sylvanaar; 14.04.2014