我有一個黑盒子容器。我喜歡黑盒子,他們很好地混淆了事物。在UIWebView中使用自定義URL方案
這個黑盒子是一個加密的zip(有點),裏面有一些html文件(這是簡短的,沒有那麼痛苦的解釋,版本)。
這些文件需要在UIWebView中顯示。現在,簡單的方法來解密,解壓縮到文件系統,從文件系統加載文件。這很好,除了黑盒子包含祕密的東西,並且不能放置在文件系統中,甚至不是一秒鐘,所以,我製作了一個C庫,實際上流式傳輸盒子的內容(直接出盒) 。
現在,我有這種流媒體功能,必須以某種方式使其與UIWebView一起工作。我想到的第一件事是使用UIWebView可以發送請求的迷你本地HTTP服務器。然後,我會自己管理這些請求,並使用我已完成的流式lib返回UIWebView所需的內容。我認爲這很有效,但我認爲一個迷你HTTP服務器可能會有點矯枉過正。
所以,我想知道,是否有另一種方式干擾UIWebView和文件系統?也許使用自定義模式?像myschema://?每當UIWebView向myschema://myfile.html發出請求時,我都會以某種方式干擾並返回它所需的數據?
這樣的想法是否可行?我應該從哪裏開始?也許NSURLRequest?
編輯:我發現這個:iPhone SDK: Loading resources from custom URL scheme。然而,聽起來不錯,瀏覽器將如何知道請求的大小,類型(xml/binary/xhtml)以及HTTP放入其頭部的所有信息?
我唯一不能理解的是,我將如何能夠發送回UIWebView有關文件大小,文件類型的數據(使用HTTP時通常進入標題的東西) – Meda
除此之外,您的提議似乎絕對合理! – Meda
您將使用該信息創建一個'NSURLResponse',並使用'-URLProtocol:didReceiveResponse:cacheStoragePolicy:'將其發送到協議客戶端('NSURLProtocolClient')。 –