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