我正在开发一个iPad应用程序,它在高端口上监听嵌入式HTTP服务器,我使用UIWebView
从此HTTP服务器加载页面。
对于应用程序的功能,当没有可用的网络连接时,这很有用。
UIWebView
正在加载http://localhost:port/path
当我在iPad上禁用Wi-Fi并运行应用程序时,UIWebView
的委托会收到带有以下NSError对象的webView:didFailLoadWithError:
消息:
Error Domain=NSURLErrorDomain Code=-1009 UserInfo=0x1b4a50 "no Internet connection"
显然,SDK很聪明并且检测到它没有Internet连接,但是应该可以在没有Internet连接的情况下访问127.0.0.1/localhost/::1。我将向Apple报告该错误,但在此期间我要求就此SDK错误的可能解决方法提出建议。
请注意:更改应用程序的体系结构不在此问题的范围内。
答案 0 :(得分:7)
您可能需要调查定义自己的方案并使用NSURLProtocol
实现它,而不是运行HTTP服务器。这将允许您在不必实施HTTP协议的情况下处理URL的加载,并且如果您没有网络连接,将解决早期HTTP协议失败的SDK的问题。