在WebView中显示zip文件的内容

时间:2011-04-12 22:30:33

标签: objective-c cocoa webkit

我想要一个WebView,它显示应用程序包中的一些静态文件。由于我有大量的小文件,我想将它们全部打包成压缩存档,这样应用程序就不会占用太多空间。实现这一目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

这可以帮助你:http://code.google.com/p/ziparchive/

在WebView中显示数据:

在Mac OS X上使用WebFrameloadHTMLString:baseURL:

在iOS上使用UIWebViewloadHTMLString:baseURL:

答案 1 :(得分:0)

您可能想要做的是实现一个NSURLProtocol子类,它将通过从zip存档中读取它们来解析相对URL。这样,您只需要首先将zip中的“主”HTML文件读入内存,其他内容将按需读取。要让WebKit使用您的自定义URL协议来解析相对路径,您可以像这样实例化WebView:

[[web_view mainFrame] loadHTMLString:your_main_html baseURL:[[NSURL alloc] initWithString:@"zip:///"]];

Apple有一个非常好的例子,可以将自定义URL协议与WebView结合起来:

https://developer.apple.com/library/mac/#samplecode/SpecialPictureProtocol/Introduction/Intro.html#//apple_ref/doc/uid/DTS10003816