2013-10-22 78 views
3

我目前正在開發一款只能在iOS 7上運行的播客應用程序,它具有允許在後臺模式下同步和下載最近劇集的功能。在後臺下載多個文件(僅適用於iOS 7)

所以它與同步清楚,我實現了 application:performFetchWithCompletionHandler 方法,並調用同步方法是,當同步完成我打電話completionHandler與UIBackgroundFetchResultNewData,或者如果它失敗我打電話UIBackgroundFetchResultFailed。但是,當我運行下載管理器開始下載所有新劇集時,可能需要很長時間,這取決於網絡質量和文件大小,而後臺模式只會在某些時候凍結並暫停最近的下載。

後臺下載應該如何正確設計?

或者可能有一些鏈接指向了正確描述下載文件的教程。

+0

我正在處理類似的問題。我想知道AFNetworking 2.0是否爲此提供支持。 – hpique

+4

你有沒有在此觀看WWDC 2013會議?後臺下載的整個想法是它們由系統進行有效管理。它不像一個運行在100%CPU的UNIX後臺下載應用程序,沒有其他任何事情在發生。蘋果正在吝嗇這個設備,所以它會扼殺事情。正如他們所說的,如果你一次下載4或10個文件,那麼你可能會得到更好的服務,而不是運行一個文件請求。請注意,如果設備未插入,系統將對資源造成嚴重的吝嗇。 –

+0

@DavidH,感謝您的信息,非常感謝。但是,您是否有任何關於如何以正確的方式執行後臺下載的想法或想法? –

回答

0

我在觀察下載大量文件時的相同行爲。

當您的應用程序被暫停時將所有下載任務添加到後臺會話,而不是在每次完成並調用您的委託時添加新的下載任務時,它看起來會表現更好。

另一種選擇是使用NewsstandKit。後臺下載運行非常流暢,但你有一些限制,如24小時的門檻,你的應用程序將隱藏在報攤上。

相關問題