我正在编写一个自定义 URL 协议(NSURLProtocol 的子类)来处理需要特殊读写方式的本地文件。阅读时没问题:我可以成功地创建一个 URL,例如 -“my-funny-file-protocol://....”,并且一切正常。
当我尝试写入这种 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 实现中遗漏了一些东西......但是什么?
提前谢谢了,
抢