URLCache 在 Xcode 模拟器上缓存 URL,但不在设备上

Posted

技术标签:

【中文标题】URLCache 在 Xcode 模拟器上缓存 URL,但不在设备上【英文标题】:URLCache caches URL on Xcode simulator but not device 【发布时间】:2017-08-18 14:38:20 【问题描述】:

我的 URLCache 在 Xcode 模拟器中缓存 URL,但不在真实设备上。我将代码缩小到这个例子:

if let urlCache = SessionManager().session.configuration.urlCache 

    // Returns nil, because there's nothing in the cache
    print(urlCache.cachedResponse(for: urlRequest))

    // Put the URL in the cache
    urlCache.storeCachedResponse(CachedURLResponse(response: response, data: responseData), for: urlRequest)

    // URL should now be in the cache, but it's still nil!
    print(urlCache.cachedResponse(for: urlRequest))

我对此感到非常困惑。有什么想法吗?

【问题讨论】:

出于好奇,responseData 的大小是多少?你的urlCachediskCapacitymemoryCapacity 是什么? 【参考方案1】:

原来这个缓存被其他网络调用填充并且空间不足。我们通过显着增加缓存大小来修复它。

【讨论】:

以上是关于URLCache 在 Xcode 模拟器上缓存 URL,但不在设备上的主要内容,如果未能解决你的问题,请参考以下文章

windows远程文件下载

Swift 在应用程序终止时清除 webview 缓存

清除xcode和模拟器缓存

无法在 iOS 模拟器上运行颤振应用程序

如何清理 xcode 构建缓存?

ionic项目打包好Xcode工程,模拟器运行各种沙盒缓存目录