5

ネイティブ接続がUIWebView タイムアウトで失敗し始めるという問題があります。タイムアウトが開始されると、ハード終了アプリのみがそれを解決します。

タイムアウトはランダムに開始されますが、開始されるとハード終了のみが解決します。

ハード終了が解決しているため、これはクライアントの問題であり、サーバーの問題ではありません。しかし、利用可能な APIUIWebViewでは問題がわかりません。

これまでは、iOS6 の iPhone と iPad でしか見られませんでした。毎回同じ URL にアクセスし、JS、CSS リソースをキャッシュしています (iOS6 の Webビューキャッシュに問題がある可能性があります)。

//code
//usual webview loading code 
//except I am setting cookies everytime before load request 
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.webview.delegate = self;


    NSString * urlString;

    urlString = @"https://www.myserver.com/";

    NSURL * url = [NSURL URLWithString:urlString];


    // I create and set some cookies here. 
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookies:cookies forURL:self.mobilePageURL mainDocumentURL:self.mobilePageURL];


    [self.webview loadRequest:[NSURLRequest requestWithURL:url]];

}

-(void)webViewDidStartLoad:(UIWebView *)webView
{
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
}

-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
    if([error.domain isEqualToString:NSURLErrorDomain] && error.code != NSURLErrorCancelled)
    {
        [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

     UIAlertView * alert  =  [[UIAlertView alloc] init];

     NSString * errorMessage = [NSString stringWithFormat:@"%d",error.code];

     [alert setMessage: errorMessage];
     [alert addButtonWithTitle:@"Ok"];
         [alert show];
    }
}
4

1 に答える 1