我正在编写一个自定义URL协议(NSURLProtocol的子类)来处理需要特殊读写方式的本地文件。阅读时没问题:我可以成功创建一个类似于例如“my-funny-file-protocol:// ....”的URL,所有的东西都可以正常工作。
当我尝试写这种URL时会出现问题。 特别是,我需要使用NSOutputStream,所以我需要调用类似的东西:
NSString *urlString = [NSString stringWithFormat:@"my-funny-file-protocol://%@", path];
NSURL *url = [NSURL URLWithString:urlString];
NSOutputStream *writer = [NSOutputStream outputStreamWithURL:url append:NO];
没有异常引发,控制台上没有日志,但结果总是nil
。
如果我使用标准file:
协议,则相同的文件可以使用:
NSString *urlString = [NSString stringWithFormat:@"file://%@", path];
为什么呢?事实上,NSURLProtocol文档并没有很好地解释我的情况。 也许我在URLProtocol实现中缺少某些内容......但是什么?
非常感谢,
罗布