【问题标题】:URLSession Error when Downloading file failed because of less memory In phone由于手机内存不足,下载文件失败时出现 URLSession 错误
【发布时间】:2018-07-14 00:07:00
【问题描述】:

我正在尝试从我的应用程序下载文件,但我有一个问题,如果手机内存小于正在下载的文件大小会发生什么..

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

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

【问题讨论】:

    标签: ios swift urlsession


    【解决方案1】:

    根据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
            }
        }
    }
    

    【讨论】:

    • 我通过了(错误?.localizedDescription)!到 Alert .. 那么无论出现什么错误,它都会在 Alert 上显示 ..?
    • 是的,如果您想向用户显示错误,使用localizedDescription 是您所需要的。但正确解开可选。不要使用!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 2021-04-23
    • 1970-01-01
    相关资源
    最近更新 更多