我有一个奇怪的问题。这是设置:
如果我启动我的应用并运行一些后台网络操作,将URL加载到UIWebView会导致此错误:
错误Domain = WebKitErrorDomain Code = 102 UserInfo = 0x1996d60“帧加载中断”
并且任何后续加载UIWebView的尝试都会失败并出现相同的错误。
我需要注意UIWebView和NSURLConnection之间是否存在一些奇怪的交互?我的下一步是用完全异步的NSOperation替换同步调用,但这是一个奇怪的错误,我想我会问专家。
我已将错误隔离到NSURLConnection sendSynchronousRequest方法。如果我从NSOperation中调用它,UIWebView会破坏性的。
102错误与WebKit中的某些“Policy Changed”错误有关,这在任何地方都很难/没有记录。
有人有任何想法吗?非常感谢任何帮助!
编辑:看起来这是某种cookie问题。如果Web服务器通过后台HTTP请求设置cookie,UIWebView无法加载的任何原因?
答案 0 :(得分:5)
好的,我已经弄明白了。
显然UIWebView不喜欢使用全局cookie存储的URLConnection HTTPRequests(甚至是ASIHTTPRequest),直到它发生。所以现在我的应用程序抛出一个简单的HTML页面,允许由UIWebView设置cookie,并且每个“下游”的人都是一个显然很开心的露营者,通过NSOperation的API请求和UIWebViews。
万岁!
答案 1 :(得分:0)
我不清楚你要在这里完成什么,UIWebView将自己异步加载NSRequest。要检查的一件事是通过使用NSOperation中的performSelectorOnMainThread:
方法之一确保您在UIWebView代码中进行的任何交互都在主线程上。