2016-11-05 44 views
0

在我的iOS的下載管理器爲什麼URLSession不能在iOS 10上恢復?

RCDownload是保存標題,URL,下載狀態和恢復下載

我有一個名爲defaultSession塊變量,它看起來像這樣的數據位置的對象:

lazy var defaultSession: URLSession = { 

     let configuration = URLSessionConfiguration.background(withIdentifier: "RCBackgroundDownloader") 
     configuration.isDiscretionary = false 
     configuration.sessionSendsLaunchEvents = true 
     let session = URLSession(configuration: configuration, delegate: self, delegateQueue: nil) 

     return session 
    }() 

我的應用程序能夠暫停和恢復下載

我的恢復功能是這樣的:

func resume(download: RCDownload) { 

     var data: Data! 

     do { 
      data = try Data(contentsOf: download.getResumeDataURL()) 
     } catch {} 

     download.downloadState = downloadStatus.downloading 

     if data != nil { 
      download.downloadTask = self.defaultSession.downloadTask(withResumeData: data) 
      download.downloadTask?.resume() 
     } else { 
      download.downloadTask = self.defaultSession.downloadTask(with: download.downloadURL) 
      download.downloadTask?.resume() 
     } 

    } 

此代碼在iOS 9上完美工作,但在iOS 10上,當我殺死我的應用程序並重新打開時,它不會恢復但沒有錯誤出現(提醒:它在iOS 9上工作完美),我很困惑任何解釋?

回答

2

這個錯誤是在iOS 10中,Apple必須解決它。根據這個thread on Apple's forum,他們已經修復了10.2版本。

你也可以看看這個Stackoverflow's post。他們提供了詳細的解決方案。

+0

最後,我有一個解釋,我一直試圖解決它,因爲iOS 10.0。謝啦。 – Raffi

+0

歡迎您:) – Munahil

相關問題