我试图在swift中加载UIWebView
到目前为止能够在模拟器中调用和加载webservices而没有任何问题,包括webview和json服务。
但是当我尝试在设备中加载所有其他网络服务时,UIWebView
除外。
let url = "http://192.168.1.233/PhpProject1/MoreDetails.php?id=1234"
UIWebView.loadRequest(webView)(NSURLRequest(URL: NSURL(string: url)!))
我检查了日志,但在调用设备中的UIWebView
后没有任何反应。
问题是只有webview没有加载到设备中,我可以调用所有其他的web服务,一切都在模拟器中正常工作。
答案 0 :(得分:0)
192.168.1
似乎是私有 LAN ,您的MAC PC可能通过有线电缆(以太网电缆)访问。如果您通过 WIFI 连接了iPhone,可能它不是同一个局域网,或 WIFI 无法访问192.168.1.x.检查你的连接。
Apple提供 reachability 类,您可以使用该类检查两个设备(PC和iPhone)的Reachability(hostname: <your host>)
是否为真。您还可以在gitHub中查看快速翻译的可达性here,有很多示例可以解决这个问题。
答案 1 :(得分:0)
从ios 9苹果推出NSAppTransportSecurity意味着你无法从你的设备上点击http服务器。所以你必须使用https的网址。但是你仍然可以通过在info.plist中添加异常来命中http。为此你可以看到这个链接
How can I add NSAppTransportSecurity to my info.plist file?
正如其他人所说,总是使用可达性类来检查服务器是否可达:)