当前位置:  开发笔记 > 前端 > 正文

iPhone上的NSOperation,Synchronous NSURLConnection和UIWebView

如何解决《iPhone上的NSOperation,SynchronousNSURLConnection和UIWebView》经验,为你挑选了1个好方法。

我有一个奇怪的问题.这是设置:

我有一个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无法加载的任何原因?



1> Genericrich..:

好的,我已经弄明白了.

显然,UIWebView不喜欢使用全局cookie存储的URLConnection HTTPRequests(甚至是ASIHTTPRequest).所以,现在我的应用程序抛出了一个简单的HTML页面,允许该cookie由UIWebView的设置,并且每个人都"下游"从是表面快乐的人,通过的NSOperation,并UIWebViews中的两个API请求.

万岁!

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有