gpt4 book ai didi

iphone - UIWebView 加载请求 : continuously failing with NSURLErrorTimedout in iOS 6

转载 作者:可可西里 更新时间:2023-11-01 04:59:52 25 4
gpt4 key购买 nike

UIWebView 中的 native 连接开始因超时而失败。一旦超时开始,只有硬退出应用程序才能解决。

超时随机开始,但一旦开始,只有硬退出才能解决。

因为硬退出正在解决它,所以它是客户端而不是服务器问题。但是使用 UIWebView 的可用 API,我无法找出问题所在。

目前只能在 iOS6 iPhone 和 iPad 上看到。我每次都访问相同的 URL,并且正在缓存 JS、CSS 资源(可能是 iOS6 webview 缓存有问题)。

//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];
}
}

最佳答案

你能像这样更改 NSURL 代码行吗:

NSURL * url = [NSURL URLWithString:rephrasing[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

也许它会解决你的问题

关于iphone - UIWebView 加载请求 : continuously failing with NSURLErrorTimedout in iOS 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13238177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com