iPhone SDK:从自定义URL方案加载资源(iPhone SDK: Loading resou

2019-10-31 02:00发布

我有的使用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