如果已初始化一个URL的PDFDocument并将其分配给PDFView:PDFDocument不使用自定义URL协议
view.document = [[[PDFDocument alloc] initWithURL: url] autorelease];
的URL是一个文件URL。我想用自定义NSURLProtocol覆盖URL加载,以支持定制解密系统。 我想使用文件URL(而不是重定向加载NSData),因为PDF可以包含指向其他PDF的链接,并且在没有URL的情况下加载不会支持此操作。
我已经注册的应用程序委托的自定义URL协议:
[NSURLProtocol registerClass: [MYURLProtocol class]];
但+canInitWithRequest:
永远不会被调用。我尝试过使用其他(自定义)模式,但他们给出了相同的结果。
当从文件URL加载WebView时,相同的+ canInitWithRequest:不会被调用。
这些网址是什么样的? – trojanfoe
普通文件URL(file://somepath/document.pdf)。我也尝试过一种定制方案。对于NSURLProtocol而言,它应该不会影响,因为它应该按照与注册相反的顺序调用+ canInitWithRequest。 – diederikh
你什么时候调用'registerClass'并检查它的返回值? – trojanfoe