2015-05-14 201 views
4

我嘗試使用新的WebView在我的應用程序清單請求,但似乎 WKWebView不能NSURLCache工作,Manifest請求沒有工作,沒有請求被加載並沒有儲存。我該怎麼做WKWebView

一切似乎更好的工作中使用的WKWebView代替UIWebView除了使用NSURLCacheManifest,所以我不知道是否有解決這個問題某些方面。

P.S.我試過Private API _setOfflineApplicationCacheIsEnabled:,它確實有效,但使用非公開API的應用程序將被蘋果拒絕...我現在沒有想法。

回答

4

現在,WKWebView實例將忽略任何默認網絡存儲(NSURLCache,NSHTTPCookieStorage,NSCredentialStorage)以及可用於自定義網絡請求(NSURLProtocol等)的標準網絡類。

因此,WKWebView實例的cookie不會存儲在您的應用程序的標準Cookie存儲中,因此僅使用標準Cookie存儲的NSURLSession/NSURLConnection無法訪問WKWebView的Cookie(並且確切地說,這可能是問題:「登錄狀態」很可能存儲在cookie中,但NSURLSession/NSURLConnection不會看到cookie)。

高速緩存,憑證等的情況也是如此.WKWebView具有自己的私有存儲,因此不能很好地與標準Cocoa網絡類配合使用。

您也無法自定義請求(添加您自己的自定義HTTP標頭,修改現有標頭等),使用您自己的自定義URL方案等,因爲WKWebView也不支持NSURLProtocol。

所以現在WKWebView對許多應用程序來說都沒用,因爲它沒有參與Cocoa的標準網絡API。

+0

我想我已經讀過這個評論別的地方...無論如何,謝謝 – humphry

+1

我想這是與你的Q有關.. – Tanuj

+0

嗯...確實,但這是告訴我不使用wkwebview ...我想要解決這個問題 – humphry