我有一個要求,用戶可以一個接一個地下載多個文件。 當我的應用程序進入後臺或iPad被鎖定時,下載或網絡服務響應只能持續10分鐘。下載iPad設備鎖定時間超過10分鐘的大文件
我的下載發生在一個單獨的線程中,我已經實施了beginBackgroundTaskWithExpirationHandler:
一些谷歌搜索和在stackoverflow鏈接。
How to implement Task completion
App crash because of auto lock in iphone?
和iOS documetation
現在我的一些選定的文件被下載和一些失敗,因爲一次只能10分鐘,最大運行後臺任務。
有沒有其他選擇? 我應該在應用程序進入後臺時完全暫停下載嗎? 任何人都可以幫我解決這個問題嗎?
我已經成功地通過沒有結束後臺任務這樣做,如果我的下載正在進行
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ NSLog(@"\n beginBackgroundTaskWithExpirationHandler called \n"); if(![self checkIfDownloadInProgress]){ [self endTaskOnCompletion]; } }];
這隻能當設備由用戶手動鎖定。如果設備在2分鐘後自動鎖定,應用程序運行10分鐘,然後崩潰 任何人都可以幫忙嗎?
當'beginBackgroundTaskWithExpirationHandler:'被調用時,我已經通過不使任務失效來延長後臺任務。我只有在下載完成時才使任務無效,並且這在手動鎖定設備時有效。我編輯了我的問題並添加了代碼。但是,當設備自動鎖定時,應用程序在10分鐘後崩潰。任何人都可以幫忙嗎? – krusty 2012-04-25 15:59:51
嗨krusty。你有沒有嘗試過使用GCD?它應該填滿你的需求。 – Selvin 2012-05-02 11:56:53