Я пытаюсь, чтобы убедиться, что у меня всегда есть до даты кэшируются копии UIWebView, используя следующий код:Получение кэша UIWebView?
// Set URL to help file on server
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@", HELP_FILE_URL]];
// Check network reachability
wifiReach = [Reachability reachabilityWithHostName:[NSString stringWithFormat:@"%@", SERVER_URL]];
netStatus = [wifiReach currentReachabilityStatus];
// Start activity indicators
[self startAnimation];
// Verify current help file cache if we have network connection...
if (netStatus == ReachableViaWWAN || netStatus == ReachableViaWiFi) {
helpFileRequest = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadRevalidatingCacheData timeoutInterval:30];
} else {
// Network NOT reachable - show (local) cache if it exists
helpFileRequest = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataDontLoad timeoutInterval:30];
}
// Show help file in a web view
[webView loadRequest:helpFileRequest];
Он отлично работает в большинстве случаев за исключением случаев, когда я иду в режим полета, не выключая приложение. После того, как в режиме полета в кэше Webview появляется хорошо, но UIWebView делегат
(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
также срабатывает, которые я не хочу. Я хочу, чтобы это было вызвано, если кеш пуст! Как я могу это достичь? (Если я завершаю приложение, он отлично работает.) Это небольшая деталь, но я действительно хочу, чтобы она работала правильно :)