5

晚上好!我希望有人可以帮助我解决我遇到的问题。

自从 iOS 7 推出以来,以下调用不起作用:

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:60];

每当我更新上面指向的页面时url,它都会拉出旧内容 - 即使我重新启动设备。我的应用程序的多个(所有可能)用户都看到了这个问题。

iOS 6 和 iOS 7 之间发生了一些变化。是否有人对如何可靠地提取远程文件(在这种情况下为 HTML)而忽略任何和所有缓存有任何指示?似乎我使用的方式不再有效/受支持。

谢谢!

4

2 回答 2

4

根据NSURLRequest标题,NSURLRequestReloadIgnoringLocalAndRemoteCacheData未实现,所以我不会依赖它。您可能想要使用NSURLRequestReloadIgnoringLocalCacheData并尝试避免服务器端的服务器缓存。

enum
{
    NSURLRequestUseProtocolCachePolicy = 0,

    NSURLRequestReloadIgnoringLocalCacheData = 1,
    NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, // Unimplemented
    NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,

    NSURLRequestReturnCacheDataElseLoad = 2,
    NSURLRequestReturnCacheDataDontLoad = 3,

    NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented
};
typedef NSUInteger NSURLRequestCachePolicy;
于 2013-11-04T03:25:21.597 回答
2

我最终不得不使用这篇文章中的“时间戳”解决方案:

NSURLConnection 正在返回旧数据

于 2013-11-13T15:14:51.300 回答