将NSOutputStream outputStreamWithURL与自定义URL协议一起使用

时间:2014-03-25 17:24:44

标签: ios objective-c nsoutputstream nsurlprotocol

我正在编写一个自定义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实现中缺少某些内容......但是什么?

非常感谢,

罗布

0 个答案:

没有答案