मेरा ऐप UIWebView
के अंदर एक बहुत बड़ा वेबैप लोड करता है।WKWebView और NSURLCache स्थानीय सामग्री की सेवा के लिए
मैंने NSURLCache
एक्सटेंशन "LocalCache
" लिखा है।
यह LocalCache
एक्सटेंशन मेरे वेबैप लोडिंग को रोकता है, और एन्क्रिप्टेड स्थानीय ऐप बंडल से सभी अनुरोधित फ़ाइलों को सेवा देता है। यह तर्क NSURLCache's
cachedResponseForRequest
विधि में लागू किया गया है। तो अनुप्रयोग 100% स्थानीय स्तर पर पेश किया जाता है:
class LocalCache:NSURLCache {
override func cachedResponseForRequest(request: NSURLRequest) -> NSCachedURLResponse? {
if (request points to my domain) {
get file from bundle
decrypt it
return local copy
} else {
return super.cachedResponseForRequest(request)
}
}
}
NSURLCache.setSharedURLCache(LocalCache());
मैं WKWebkit
को यह कार्यक्षमता बंदरगाह करना चाहते हैं। मुझे आश्चर्य है कि अगर कुछ ऐसा लागू करने का कोई तरीका है, दुर्भाग्यवश, जैसा कि आप शायद जानते हैं, WKWebView
एनएसपीआरोटोकॉल, एनएसयूआरएल, एनएसयूआरएल कैश के साथ कोको स्टैक का उपयोग नहीं करता है .... मेरे वर्तमान दृष्टिकोण को बेकार कर रहा है।
तो, क्या कुछ ऐसा ही WkWebView
के साथ पूरा किया जा सकता है?
नोट: तथ्य यह है कि UiWebView
"सोचता है" कि मेरा ऐप रिमोट सर्वर से आता है एप्लिकेशन के लिए महत्वपूर्ण है: यदि मैं सिर्फ स्थानीय रूप से एप्लिकेशन लोड करता हूं, यानी। file://
, ऐसी कई चीजें हैं जो काम नहीं करती हैं, उदाहरण के लिए, YouTube वीडियो, जैसे यूट्यूब एपीआई शिकायत करता है कि "file://
" अनुमोदित मूल नहीं है। तो WkWebView
समाधान जो मैं ढूंढ रहा हूं उसे स्थानीय जावास्क्रिप्ट इंजेक्शन देने के बजाय कैश को अवरुद्ध करने से संबंधित होना चाहिए।
"WKWebView अनुरोध करता है और सामग्री को आउट-ऑफ-प्रोसेस प्रस्तुत करता है, जिसका अर्थ है कि आपका ऐप उनके द्वारा किए गए अनुरोधों को नहीं सुनता है।" http://stackoverflow.com/a/24208322/23649 – jtbandes
@rupps क्या आपको इसका कोई समाधान मिला है? मुझे एक समान समस्या है। मैं कोशिश कर रहा हूं [WKUserScript] (https://developer.apple.com/library/ios/documentation/WebKit/Reference/WKUserScript_Ref/#//apple_ref/occ/instm/WKUserScript/initWithSource:injectionTime:forMainFrameOnly :) । – Alex