Оппортунистический запрос GET на фоновую выборку iOS8

Я пытаюсь периодически (раз в день) выполнять запрос GET в фоновом режиме и планировать уведомление на основе этих данных. Согласно документам, это должно быть возможно, но я не могу найти примеры кода, где бы кто-то действительно это делал. Может ли кто-нибудь указать мне какой-нибудь быстрый код, демонстрирующий это?

Документы по извлечению небольших объемов контента по возможности https://developer.apple.com/library/ios/documentation/iphone/conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html#//apple_ref/doc/uid/TP40007072-CH4-SW56

Соответствующий абзац из документов: приложения, которым необходимо периодически проверять наличие нового контента, могут попросить систему разбудить их, чтобы они могли инициировать операцию извлечения этого контента. Для поддержки этого режима включите параметр «Фоновая выборка» в разделе «Фоновые режимы» на вкладке «Возможности» в вашем проекте Xcode. (Вы также можете включить эту поддержку, включив ключ UIBackgroundModes со значением выборки в файле Info.plist вашего приложения.) Включение этого режима не является гарантией того, что система даст вашему приложению время для выполнения фоновой выборки. Система должна сбалансировать потребность вашего приложения в получении контента с потребностями других приложений и самой системы. После оценки этой информации система дает время приложениям, когда для этого есть хорошие возможности.

Когда появляется хорошая возможность, система пробуждает или запускает ваше приложение в фоновом режиме и вызывает метод application:performFetchWithCompletionHandler: делегата приложения. Используйте этот метод, чтобы проверить наличие нового контента и инициировать операцию загрузки, если контент доступен. Как только вы закончите загрузку нового контента, вы должны выполнить предоставленный блок обработчика завершения, передав результат, указывающий, был ли контент доступен. Выполнение этого блока сообщает системе, что она может перевести ваше приложение обратно в приостановленное состояние и оценить его энергопотребление. Приложения, которые загружают небольшое количество контента быстро и точно отражают, когда у них был контент, доступный для загрузки, с большей вероятностью получат время выполнения в будущем, чем приложения, которые требуют много времени для загрузки своего контента или которые заявляют, что контент был доступен, но затем делают это. ничего не скачать.


person Ryan    schedule 07.10.2014    source источник


Ответы (1)


Это прекрасно работает. Очень надежное решение.

http://www.appcoda.com/ios7-background-fetch-programming/

person Ryan    schedule 04.11.2014