2014-06-09 67 views
0

這裏有一點:我有一個應用程序,可以以非常低的分辨率運行一組圖像。沒什麼特別的。從iOS中下載一個大文件(1 + Gb),具有恢復功能

當應用程序啓動時,我希望它啓動全分辨率照片集進程的同步下載(從遠程服務器下載照片)。 由於文件通常很大(> 1Gb),我需要一種方法從潛在的停止位置(無論原因)恢復,以便最終在設備上設置100%的照片,而不必從頭開始重新開始。

你會怎麼做?

+1

我建議的一件事(如果你還沒有想過這個),是警告用戶應用程序將下載這麼多的數據,理想情況下給出一個選項,只有連接到WiFi連接時才下載。我確定你不想快速燒錄用戶的移動數據補貼! –

+0

我同意湯姆,但如果你仍然想恢復,你可以嘗試設置一系列照片並下載每張照片並將其複製到一個NSMutableArray並存檔,然後繼續下載下一張照片。然後,如果您的下載被中斷,它將通過對該陣列進行計數並按照計數指示下載適當的照片而恢復。 – Scott

回答

0

你的問題沒有詳細說明數據。有2例可能的:

  1. 您正在下載的所有圖像作爲一個單獨的文件(如.ZIP),或在一個請求:在這種情況下,你可以使用NSURLSession它有暫停和恢復設施內置。
  2. 您正在逐一下載圖像:在這種情況下,您需要跟蹤某些標識或索引的圖像,以便以順序方式從特定文件開始下載。對於每個文件暫停和恢復設施,您可以使用NSURLSession