あなたのリクエスト応答を取得するためにNSURLCache
をチェックしているからです。しかし、あなたのページを表示することはできますが、キャッシュすることはできません。実際、サーバーは次のような応答をすることができます:
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
「私の応答をキャッシュしてはいけません。良い市民として、iOSはありません:)。したがって、サーバーの応答を取り戻すには別の方法を使用する必要があります。最高の解決策は、NSURLSession
を使用してリクエストを作成し、コンテンツをダウンロードしてwebviewに転送することです。要求が行われると、完了ハンドラが応答にアクセスできるようになります。
func loadURL(url: NSURL!) {
let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: config)
let muableRequest = NSMutableURLRequest(URL: url)
muableRequest.setValue("WhateverYouWant", forHTTPHeaderField: "x-YourHeaderField")
let task = session.dataTaskWithRequest(muableRequest) { (data, response, error) in
guard error == nil else {
print("We have an error :(\(error)")
// Here, you have to handle the error ...
return
}
if let response = response {
var mimeType = ""
if response.MIMEType != nil {
mimeType = response.MIMEType!
}
var encoding = ""
if response.textEncodingName != nil {
encoding = response.textEncodingName!
}
if let httpResponse = response as? NSHTTPURLResponse {
print("HTTP Status code is \(httpResponse.statusCode)")
}
self.webView.loadData(data!, MIMEType: mimeType, textEncodingName: encoding, baseURL: url)
}
}
task.resume()
}
そして、あなたはそのように、このメソッドを呼び出します:ここではあなたが何ができるかの一例である
loadURL(NSURL(string: "https://apple.com")!)
あなたが前にこれをやっていた場所で:
webView.loadRequest(NSURLRequest(URL: NSURL(string: "https://apple.com")!))
は、あなたのURLが読み込まれた手段は可視かどうかわからない –
@ Anbu.Karthik私はあなたを理解できませんでした、あなたは目に見えるかどうかはどういう意味ですか? –
それはいつも起こりますか?または、いくつかのURLにのみ? –