我有的使用XML文件由第三方库创建的HTML字符串。 HTML字符串中包含的图像和视频的自定义网址(例如:图片://)。 有是我的方式可以处理这些资源负载请求,并在UIWebView的正确加载呢?
Answer 1:
你应该能够将其更改为一个file://网址指向应用程序包中的文件。
为了让你可以使用路径:
NSString *path = [[NSBundle mainBundle] pathForResource:@"MyFileInResources" ofType:@".png"];
请注意,您需要使用这个逃生:
NSString *escapedPath = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
Answer 2:
我们需要建立NSURLProtocol的一个子类,并重新实现以下方法可以处理自定义URL方案
+(BOOL)canInitWithRequest:(NSURLRequest*)request
+(NSURLRequest*)canonicalRequestForRequest:(NSURLRequest*)request
+(BOOL)requestIsCacheEquivalent:(NSURLRequest*)a toRequest:(NSURLRequest*)b
-(void)startLoading
-(void)stopLoading
我们也必须要注册这个自定义URL协议类别时,应用程序通过以下方式启动
[NSURLProtocol registerClass:[CustomURLProtocol class]];
文章来源: iPhone SDK: Loading resources from custom URL scheme