由于手机内存不足,下载文件失败时出现URLSession错误

时间:2018-07-13 15:44:31

标签: ios swift urlsession

我正在尝试从我的应用程序下载文件,但我对此有一个疑问,如果手机的内存少于正在下载的文件大小,该怎么办。

是否在urlSession委托下面触发?如果是什么错误?

 public func urlSession(_ session: URLSession, task: URLSessionTask, 
   didCompleteWithError error: Error?) {
}

1 个答案:

答案 0 :(得分:0)

根据NSURLSessionDownloadTask issues with Storage almost full disk warningshttps://forums.developer.apple.com/thread/43263,您似乎会收到错误,并且其域将是NSPOSIXErrorDomain,错误代码为ENOSPC(错误,无空格) )。

还有可能出现NSCocoaErrorDomain域错误和NSFileWriteOutOfSpaceError错误代码的情况。

public func urlSession(_ session: URLSession, task: URLSessionTask,  didCompleteWithError error: Error?) {
    if let nserror = error as? NSError {
        if (nserror.domain == NSPOSIXErrorDomain && nserror.code == ENOSPC) ||
           (nserror.domain == NSCocoaErrorDomain && nserror.code == NSFileWriteOutOfSpaceError) {
            // Not enough space
        }
    }
}