如果已初始化一個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