Как загрузить несколько фоновых видео в iOS?

У меня есть приложение для iOS, где мне нужно скачивать более 60-70 видео в неделю размером 3-8 МБ каждое. Вопрос в том, как мне скачать эти видео? Я храню список видео и URL-адресов в базе данных.

Возможные решения:

Используйте UIBackgroundTaskIdentifier, вызовите beginBackgroundTaskWithExpirationHandler, как только приложение запустится. Это задание загрузит одно видео.
В endBackgroundTask я отмечу это конкретное видео как скачанное.
Возникает вопрос: могу ли я запустить несколько UIBackgroundTaskIdentifier? С чего мне их начать? В AppDelegate? Конкретный контроллер? Если я запущу его в конкретном контроллере, viewDidLoad() что произойдет, если приложение выйдет?

Пожалуйста, помогите мне или предоставьте альтернативное решение. Спасибо


person manishKungwani    schedule 19.11.2012    source источник
comment
Решение А звучит хорошо, но каково ваше решение Б? есть решение Б, верно?   -  person Raptor    schedule 19.11.2012


Ответы (2)


Используйте AFNetworking, так как ASIHTTPRequest равно deprecated.

См. ссылку на источник AFNetworking.

Также см. ссылку afnetworking-downloading-multiple-files и Поддерживает ли AFNetworking фоновую работу.

ИЗМЕНИТЬ: начать загрузку в AppDelegate

Проверьте AFDownloadRequestOperation для возобновления загрузки.

Обратитесь к afnetworking-pause-resume-downloading-big-files, используя ссылку AFDownloadRequestOperation.

person Paresh Navadiya    schedule 19.11.2012
comment
Спасибо за ответ, я также хочу знать, где вы вызываете эту функцию? В AppDelegate или в конкретном контроллере? Кроме того, что произойдет, если приложение будет закрыто до завершения загрузки? Спасибо - person manishKungwani; 19.11.2012
comment
Круто, я почти там, последний вопрос? Мне нужно загрузить несколько файлов, поэтому я сделаю цикл for и начну загрузку для каждого файла один за другим, используя одно из приведенных выше решений, что-то не так с этим или любое альтернативное решение? Еще раз спасибо - person manishKungwani; 19.11.2012

Вы можете загрузить несколько файлов с помощью ASIHTTPRequest в фоновом режиме. См. документацию здесь.

Обратите внимание, что ASIHTTPRequest больше не работает, поэтому вы можете использовать AFNetworking.

AFNetworking — это восхитительная сетевая библиотека для iOS и Mac OS . It's built on top ofNSURLConnection,NSOperation, and other familiarFoundation Technologies`. Он имеет модульную архитектуру с хорошо продуманными, многофункциональными API, которыми приятно пользоваться.

Найдите SDK здесь.

person Siba Prasad Hota    schedule 19.11.2012