NSO操作、同步NSURL连接和;iPhone上的UIWebView

NSO操作、同步NSURL连接和;iPhone上的UIWebView,iphone,uiwebview,nsurlconnection,nsoperation,Iphone,Uiwebview,Nsurlconnection,Nsoperation,我有个奇怪的问题。以下是设置: 我有一个NSOperationQueue,我将NSOperation子类对象添加到其中。它们使用NSURLConnection sendSynchronousRequest方法进行联网。据我所知,这些都是完全异步的,因为它们是NSO操作,每个操作都有自己的线程 如果我在没有任何后台网络操作的情况下启动我的应用程序,那么将URL加载到UIWebView就可以了 如果启动应用程序并运行一些后台网络操作,则将URL加载到UIWebView会导致以下错误: 错误域=We

我有个奇怪的问题。以下是设置:

  • 我有一个NSOperationQueue,我将NSOperation子类对象添加到其中。它们使用NSURLConnection sendSynchronousRequest方法进行联网。据我所知,这些都是完全异步的,因为它们是NSO操作,每个操作都有自己的线程
  • 如果我在没有任何后台网络操作的情况下启动我的应用程序,那么将URL加载到UIWebView就可以了
  • 如果启动应用程序并运行一些后台网络操作,则将URL加载到UIWebView会导致以下错误:

    错误域=WebKitErrorDomain代码=102用户信息=0x1996d60“帧加载中断”

任何加载UIWebView的子序列尝试都会失败,并出现相同的错误

UIWebView和NSURLConnection之间是否存在一些我需要注意的奇怪交互?我的下一步是用完全异步的NSO操作替换同步调用,但这是一个非常奇怪的错误,我想我应该问问专家

我已将错误隔离到NSURLConnection sendSynchronousRequest方法。如果我从一个NSO操作中调用它,UIWebView会崩溃得很厉害

102错误与WebKit中的某些“策略更改”错误有关,这些错误在任何地方都没有记录

有人知道吗?非常感谢您的帮助


编辑:看起来这是某种cookie问题。如果web服务器通过后台HTTP请求设置cookie,UIWebView将无法加载的原因是什么?

我不清楚您在这里试图实现什么,UIWebView将自己异步加载NSRequest。需要检查的一件事是,通过使用NSOperation中的一个
performSelectorOnMainThread:
方法,确保您在代码中与UIWebView进行的任何交互都在主线程上。

我不清楚您在这里试图完成什么,UIWebView将自己异步加载NSRequest。需要检查的一件事是,通过使用NSOperation中的
performselectornmainthread:
方法之一,确保您在代码中与UIWebView进行的任何交互都在主线程上。

好的,我已经解决了这个问题

显然,UIWebView不喜欢使用全局cookie存储的URLConnection HTTPRequests(甚至AsiTpRequest),直到它这样做。因此,现在我的应用程序抛出了一个简单的HTML页面,允许UIWebView设置cookie,并且从该页面“下游”的每个人都显然是一个快乐的露营者,包括通过NSOperation的API请求和UIWebView


万岁

好的,我已经弄明白了

显然,UIWebView不喜欢使用全局cookie存储的URLConnection HTTPRequests(甚至AsiTpRequest),直到它这样做。因此,现在我的应用程序抛出了一个简单的HTML页面,允许UIWebView设置cookie,并且从该页面“下游”的每个人都显然是一个快乐的露营者,包括通过NSOperation的API请求和UIWebView


万岁

进行后台联网(轮询API以获取数据)的操作完全独立于UIWebView。这就是问题所在。两者之间没有交互,这就是为什么这个bug如此令人恼火的原因。进行后台联网(轮询API获取数据)的操作完全独立于UIWebView。这就是问题所在。两者之间没有相互作用,这就是为什么这个bug如此令人恼火。它当然是不直观的,但我同意这种行为。在我让我的应用程序通过UIWebView加载第一个热门应用程序后,URLConnection开始按照预期运行。这当然是不直观的,但我同意这种行为。在我让我的应用程序通过UIWebView加载第一个热门应用程序后,URLConnection开始按照预期运行。