我有一个奇怪的问题.这是设置:
我有一个NSOperationQueue,我将NSOperation子类对象添加到.这些使用NSURLConnection sendSynchronousRequest方法进行联网.据我所知,这些是完全异步的,因为它们是NSOperations,每个都有自己的线程.
如果我在没有任何后台网络操作的情况下启动我的应用程序,将URL加载到UIWebView就可以了.
如果我启动我的应用程序,并运行一些后台网络操作,将URL加载到UIWebView会导致此错误:
错误域= WebKitErrorDomain代码= 102 UserInfo = 0x1996d60"帧加载中断"
并且任何后续加载UIWebView的尝试都会失败并出现相同的错误.
我需要注意UIWebView和NSURLConnection之间是否存在一些奇怪的交互?我的下一步是用完全异步的NSOperation替换同步调用,但这是一个奇怪的错误,我想我会问专家.
我已将错误隔离到NSURLConnection sendSynchronousRequest方法.如果我从NSOperation中调用它,UIWebView会破坏性地破坏.
102错误与WebKit中的某些"Policy Changed"错误有关,这在任何地方都很难/没有记录.
有人有什么想法吗?任何帮助是极大的赞赏!
编辑:看起来这是某种cookie问题.如果Web服务器通过后台HTTP请求设置cookie,UIWebView无法加载的任何原因?
好的,我已经弄明白了.
显然,UIWebView不喜欢使用全局cookie存储的URLConnection HTTPRequests(甚至是ASIHTTPRequest).所以,现在我的应用程序抛出了一个简单的HTML页面,允许该cookie由UIWebView的设置,并且每个人都"下游"从是表面快乐的人,通过的NSOperation,并UIWebViews中的两个API请求.
万岁!