我正在尝试从我的应用程序下载文件,但我对此有一个疑问,如果手机的内存少于正在下载的文件大小,该怎么办。
是否在urlSession委托下面触发?如果是什么错误?
public func urlSession(_ session: URLSession, task: URLSessionTask,
didCompleteWithError error: Error?) {
}
答案 0 :(得分:0)
根据NSURLSessionDownloadTask issues with Storage almost full disk warnings和https://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
}
}
}