iOS開發UIWebView快取

2021-07-03 23:07:05 字數 1427 閱讀 2714

最近做了uiwebview的快取,用了兩種方式去實現:第一種使用的是重寫uiwebview的urlcache方法,在urlcache方法中請求網頁資料,儲存網頁資料至本地磁碟。

使用rncachingurlprotocol協議:優點:不會像第一種方式會在每次使用快取的時候產生兩個相同的請求,缺點:會快取**中所有的url請求。對於不需要進行快取的url在請求頭中加上x-rncache,協議中的**中寫有注釋,

+ (bool)caninitwithrequest:(nsurlrequest *)request

return no;

}使用的是af庫加請求頭的方法: 

//包含該頭時,rncachingurlprotocol不使用快取

由於使用的是協議,所以在控制什麼時候去執行快取,什麼時候不需要快取不能直接在使用的時候去呼叫方法,使用的是用nsuserdefault儲存值的方法去控制是否需要快取,在使用webview

的快取需要注意的幾點:對於不需要快取的請求需要手動在進行快取的方法中過濾掉,要不在下次執行的時候會主動檢查快取不會再向伺服器發起請求,在這個庫中主要用到的幾個方法:

//是否需要使用快取

- (bool

) usecache 

if([[nsuserdefaults

standarduserdefaults

] valueforkey

:isreloadwebview])

//判斷本地是否有快取,有

:取快取否:

從網路載入

nsstring

*cachepath = [

self

cachepathforrequest

:[self

request

]];

nsfilemanager

*manager = [

nsfilemanager

defaultmanager];

if(isreload)

else

if([manager

fileexistsatpath

:cachepath])

else

} //儲存瀏覽的資料

- (void

)connectiondidfinishloading:(

nsurlconnection

*)connection

[self

setconnection

:nil];

[self

setdata

:nil];

[self

setresponse

:nil];

}

ios開發使用UIWebView顯示多種文件

使用uiwebview顯示多種文件 除了html的內容,uiwebview還可以顯示多種型別的文件 包括以下的型別 excel xls keynote key.zip numbers numbers.zip pages pages.zip pdf pdf powerpoint ppt word do...

ios開發使用UIWebView顯示多種文件

使用uiwebview顯示多種文件 除了html的內容,uiwebview還可以顯示多種型別的文件 包括以下的型別 excel xls keynote key.zip numbers numbers.zip pages pages.zip pdf pdf powerpoint ppt word do...

iOS開發 檢測專案使用UIWebView

前言 蘋果禁止使用uiwebview應用上架,這裡面包含兩層含義和兩個時間點 2020.4 和 2020.12 新應用的ipa 和 應用公升級ipa 2020年4月30日之後 也就是五月份之前 禁止新應用使用uiwebview 2020年12月30日之後,禁止所有提交的包使用uiwebview,也就...