我試圖找到一種方法,以防止緩存響應(在模擬器)NSURLSession
通過使用來自這些問題的方法:防止緩存在NSURLSession的iOS模擬器
Prevent NSURLSession from caching responses
NSURLCache does not clear stored responses in iOS8
我不想使用的方法從這樣一個問題:
當設置新的NSURLSession
實例時,它使用ephemeralSessionConfiguration
調用NSURLSessionConfiguration
。
我只想不緩存請求,在最壞的情況下清除應用程序退出活動時的緩存。 在applicationWillResignActive
中調用[NSURLCache sharedURLCache] removeAllCachedResponses]
在應用程序委託中執行時,我仍然得到Cache.db
,並且在磁盤上各自的iOS Simulator緩存中存在緩存的響應/請求。
在此之前,我改變了我的一切NSURLSessionConfiguration
緩存策略,以NSURLRequestReloadIgnoringCacheData
NSURLRequestReloadIgnoringLocalCacheData
(所有三個測試的情況下,最後一個可能是未實現)實例(和有效的所有緩存策略)。不改變緩存策略應該導致不在模擬器上緩存服務器響應和請求?它是否依賴於響應頭中的存儲策略?
我在使用iOS 9.3和iOS 10.1模擬器的iPhone和iOS SDK的第10版。項目在Objective C中,也許完整的Swift項目會有不同的表現? 模擬器和設備的這種行爲有何不同?爲什麼會發生這種情況,是否有與使用依賴關係不同的解決方案(由於某種原因,現在不能立即使用)。
您是否嘗試將NSMutableURLRequest上的cachePolicy屬性設置爲NSURLRequestReloadIgnoringCacheData?另外,將NSURLSessionConfiguration對象上的URLCache屬性設置爲nil。 –