iOS WKWebview加載本地的HTML文件報錯 Error Domain=kCFErrorDomainCFNetwork Code=1

出錯案例

本地沙盒有多個HTML文件及資源,使用loadFileURL方法輪流加載HTML文件,第一次加載正常,第二次加載出錯。并且報錯Error Domain=kCFErrorDomainCFNetwork Code=1
這個錯誤只在真機上會出現(xiàn),模擬器上可以正常的加載第二個第三個等HTML文件。

原因

http://www.openradar.me/45346962
https://stackoverflow.com/questions/40472796/wkwebview-loadfileurl-works-only-once
通過查詢得出原因可能是出在loadFileURL這個方法第二個參數(shù)readAccess上。

- (nullable WKNavigation *)loadFileURL:(NSURL *)URL allowingReadAccessToURL:(NSURL *)readAccessURL API_AVAILABLE(macosx(10.11), ios(9.0));

這個參數(shù)傳HTML需要訪問的資源路徑。我在傳參的時候,加載哪個HTML文件,就傳哪個HTML的資源文件路徑。但是WKWebview會鎖定第一次傳的資源路徑,之后再傳都會不起作用。這就導致我加載第二個HTML文件的時候找不到資源文件而報錯。

解決方案

把所有本地HTML文件放在同一文件夾下,readAccessURL傳所有HTML文件的資源路徑。


沙盒路徑

如圖,51、52、53等文件夾里都是一個獨立的網(wǎng)頁和資源,readAccessURL應該傳unzip文件夾的路徑,而不是51文件夾的路徑。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容