我需要在我的應用程序中顯示Web瀏覽器。我無法使用SFSafariViewController,因爲我需要能夠使用NTLM進行身份驗證,所以我正在使用Alamofire下載data
,然後在UIWebView中顯示它。Swift - UIWebView baseURL導致空白屏幕
我已經得到UIWebView通過.loadHTMLString()
顯示HTML,但圖像,CSS和Javascript文件沒有加載。我嘗試將baseURL
設置爲網站根目錄,但是,當我在UIWebView
中完全不加載任何內容時,將它留空,控制檯中沒有任何內容或錯誤。
Alamofire.request(.GET, "https://dev-moss.stpaulscatholiccollege.co.uk/sites/Students/default.aspx").authenticate(usingCredential: credential)
.response { request, response, data, error in
dispatch_async(dispatch_get_main_queue(), {() -> Void in
// check for errors or bad responsecode
if (error == nil) && (response?.statusCode == 200) {
// load the website
let gatewayString = "\(NSString(data: data!, encoding: NSUTF8StringEncoding))"
self.gatewayWebView.loadHTMLString(String(NSString(data: data!, encoding: NSUTF8StringEncoding)!), baseURL: nil)
print(gatewayString)
}
else {
print("There was an error loading the website.")
}
})
}
即使設定時,baseURL
到NSURL(string: "https://dev-moss.stpaulscatholiccollege.co.uk/")
或NSURL(string: "https://dev-moss.stpaulscatholiccollege.co.uk")
的gatewayString
的print
還是吐出來的是網站,但是控制檯。
不幸的是仍然無法使用該基本URL;顯示白色屏幕。 – James
@James見編輯。 – mattsven
感謝您的參考馬特,沒有想到這一點。看起來它會變得更復雜 - 如果只有SFSafariViewController有一個身份驗證提示委託。 – James