我有一堆媒体,我需要在iPhone上的UIWebView中显示。我宁愿如果客户端不需要在启动应用程序时下载所述媒体,但可以在本地引用它并在安装应用程序期间下载它。如何通过iPhone上的浏览器引用本地媒体?
这可能吗?
我有一堆媒体,我需要在iPhone上的UIWebView中显示。我宁愿如果客户端不需要在启动应用程序时下载所述媒体,但可以在本地引用它并在安装应用程序期间下载它。如何通过iPhone上的浏览器引用本地媒体?
这可能吗?
UIWebView * view = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,320,480)];
NSMutableString * html = [[NSMutableString alloc] init];
NSString * imgpath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"png"];
[html appendFormat:@"<html><body><img src=%@/></body></html>", @"test.png"];
NSURL * url = [[NSURL alloc] initFileURLWithPath:imgpath];
[view loadHTMLString:html baseURL:url];
是的,你可以从你的包中使用的图像。
不,这是不可能的。你可以做的是在你的Resources
文件夹中放置一个默认媒体集,当应用程序第一次运行时将该信息复制到数据文件夹中。
在后续运行中,您可以使用服务器上的新信息覆盖该信息。
哪个数据文件夹? – DevDevDev 2009-09-21 23:29:39
我会认为loadHTMLString:baseURL:方法会做到这一点。
从http://iphoneincubator.com/blog/windows-views/uiwebview-revisited,代码会是这个样子:
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webView loadHTMLString:htmlString baseURL:baseURL];
你不得不调整路径指向本地文件夹,而不是捆绑的文件夹,如果你想的内容充满活力。
我从浏览器引用它,而不是iPhone – DevDevDev 2009-09-21 23:30:19
只需在Safari的缓存中推送所有内容?在应用程序负载转移所有的媒体呢? – DevDevDev 2009-09-21 23:30:50