die*_*ikh 6 cocoa objective-c quartz-2d
如果已使用URL初始化PDFDocument并将其分配给PDFView:
view.document = [[[PDFDocument alloc] initWithURL: url] autorelease];
Run Code Online (Sandbox Code Playgroud)
URL是文件URL.我想用自定义NSURLProtocol覆盖URL加载以支持自定义解密系统.我想使用文件URL(而不是直接加载NSData),因为PDF可以包含指向其他PDF的链接,而没有URL的加载将不支持此功能.
我在app delegate中注册了一个自定义URL协议:
[NSURLProtocol registerClass: [MYURLProtocol class]];
Run Code Online (Sandbox Code Playgroud)
但从+canInitWithRequest:未被称为.我尝试过其他(自定义)架构,但它们会给出相同的结果.
从文件URL加载WebView时,会调用相同的+ canInitWithRequest:.
NSURLProtocol类文档让我觉得 NSURLProtocol 子类仅在通过 NSURLConnection (或 NSURLDownload)加载 NSURL 时使用:
应用程序永远不需要直接实例化 NSURLProtocol 子类。当下载开始时,NSURLConnection 创建 NSURLRequest 的适当 NSURLProtocol 子类的实例。
所以这可能是您遇到问题的根本原因。有趣的是,通过 NSURLConnection 和关联的 NSURLRequest 抓取文件,看看你的 NSURLProtocol 子类是否按照你的预期被调用;我怀疑会的。
| 归档时间: |
|
| 查看次数: |
305 次 |
| 最近记录: |