我想将更改的文件加载到UIWebView中,我希望它们在file:// scheme下加载,这样我就可以在我的页面中包含其他file:// resources(例如html5视频元素).为此,我实现了自己的NSURLProtocol并覆盖了file:// URL子集的加载.
我的startLoading方法看起来像:
- (void) startLoading {
... data is populated ...
[protocolClient URLProtocol:self didLoadData:data];
[protocolClient URLProtocolDidFinishLoading:self];
}
Run Code Online (Sandbox Code Playgroud)
这适用于iOS4/5但在iOS 6 beta 4上我收到以下错误:
2012-08-21 16:06:07.236 TemplateApp[57283:1d403] 57283: CFNetwork internal error (0xc01a:/SourceCache/CFNetwork_Sim/CFNetwork-606/Connection/URLConnectionClient.cpp:2341)
/SourceCache/WebCore_Sim/WebCore-1634/wak/WKView.mm:385 void WKViewAddSubview(WKViewRef, WKViewRef): invalid parameter
2012-08-21 16:06:07.272 TemplateApp[57283:1e603] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSSetM addObject:]: object cannot be nil'
*** First throw call stack:
(0x29d0552 0x2733e7e 0x2a5dc08 0x69c6c1e 0x69c4c88 0x69c543b 0x5b40dbd 0x5b40f0f 0x5b3c240 0x5ff8060 0x5ff75d1 0x5eb8d08 0x65a4fb2 0x678486f 0x677fa3d 0x7b3ab1 …Run Code Online (Sandbox Code Playgroud) ios ×1