2016-06-07 83 views
1

我試圖加載UIWebView到目前爲止我們能夠調用和加載webservices沒有任何問題,webview和json服務都在模擬器中。webview加載模擬器,但不加載設備

但是,當我嘗試在設備中加載它的所有其他web服務正在工作,除了UIWebView

let url = "http://192.168.1.233/PhpProject1/MoreDetails.php?id=1234" 


UIWebView.loadRequest(webView)(NSURLRequest(URL: NSURL(string: url)!)) 

我查了日誌,但要求在設備的UIWebView後沒有任何反應。

問題是,只有webview不在設備中加載,我能夠調用所有其他webservices,並且一切工作正常在模擬器中。

+1

添加委託方法爲您的WebView&也檢查設備的網絡連接。如果您正在使用iOS 9.x.x版本的設備,請在您的plist文件中使用ATS(應用程序傳輸安全性)密鑰,因爲您使用的是HTTP。有關ATS PLZ的更多信息,請訪問https://gist.github.com/mlynch/284699d676fe9ed0abfa –

+0

@Gagan_iOS我已經啓用了應用程序傳輸安全性,我已經提到所有其他Web服務都正常工作。唯一的問題是webview。在仿真器中,一切都在加載,但僅在設備WEBVIEW中無法加載。 – milsha

+0

是你使用相同的網址「http://192.168.1.233/PhpProject1/MoreDetails.php?id=1234」。我試圖在我的瀏覽器中打開它,它沒有得到加載。在模擬器我得到超時錯誤爲2016-06-07 15:52:37.620測試[5796:329704] webViewDidStartLoad 2016-06-07 15:53:38.346測試[5796:329704]錯誤是:請求計時出。 –

回答

0

192.168.1似乎是一個私人的局域網,可能通過您的MAC PC通過有線電纜(以太網電纜)到達。如果你的iPhone連接通過WIFI可能它是不一樣的lan或WIFI無法達到192.168.1.x.檢查你的連接。

蘋果提供reachability類,您可以使用類,以檢查是否Reachability(hostname: <your host>)是真的還是假的兩個設備(PC和iPhone)。你也可以在gitHub中查看快速翻譯的可訪問性here,有很多例子來說明如何去做。

0

從ios 9蘋果引入NSAppTransportSecurity意味着你不能從你的設備上打http服務器。所以你必須使用https與https。但是,您仍然可以通過在info.plist中添加異常來打http。爲此,您可以看到此鏈接

How can I add NSAppTransportSecurity to my info.plist file?

正如說別人總是使用可達性類請檢查是否服務器可達或不:)