没有缓存的 iOS NSURLSessionConfiguration 无法按预期工作
Posted
技术标签:
【中文标题】没有缓存的 iOS NSURLSessionConfiguration 无法按预期工作【英文标题】:iOS NSURLSessionConfiguration without Caching not working as intended 【发布时间】:2014-07-24 12:15:54 【问题描述】:我在 ios7 中遇到了一个安全问题。我想通过以下配置在没有任何缓存的情况下建立我的 url 连接:
+(NSURLSessionConfiguration *)createSessionConfig
NSURLSessionConfiguration *sessionConfig =
[NSURLSessionConfiguration ephemeralSessionConfiguration];
sessionConfig.allowsCellularAccess = YES;
sessionConfig.timeoutIntervalForRequest = 30.0;
sessionConfig.timeoutIntervalForResource = 60.0;
sessionConfig.HTTPMaximumConnectionsPerHost = 10;
sessionConfig.URLCache = nil;
sessionConfig.URLCredentialStorage = nil;
sessionConfig.HTTPCookieStorage = nil;
return sessionConfig;
当我运行 NSURLSessionDataTask 时,仍然在文件系统上创建了带有条目的文件 Cache.db-wal。
谁能告诉我如何解决这个问题?我希望文件系统的缓存文件中没有条目。
BR, 马丁
【问题讨论】:
【参考方案1】:我需要做一些非常相似的事情。我没有将配置实例设置为临时会话,而是使用defaultSessionConfiguration
。临时会话缓存到 RAM 而不是磁盘中。因此,通过将所有不同的持久缓存属性设置为 nil 并使用默认会话,它可以按我的需要工作。
【讨论】:
以上是关于没有缓存的 iOS NSURLSessionConfiguration 无法按预期工作的主要内容,如果未能解决你的问题,请参考以下文章
iOS:如果没有可用的互联网,谷歌分析 SDK 是不是会缓存所有数据以便稍后发送?