嘿伙计们,所以我从网络服务器上下载了一个yaml文件。我的NSInputStream
适用于本地yaml文件(使用file://filename.yaml url scheme)
以下是相关的代码段:
NSInputStream * stream = [[NSInputStream alloc] initWithURL:yamlURL];
其中yaml url类似于http:// myip:8000 / assets / test.yaml在浏览器中打开只会导致文件下载......
有什么想法吗?
答案 0 :(得分:1)
我对此已经太晚了,但我刚刚解决了这个确切的问题,所以这里有:
根据文档,
The NSStream class does not support connecting to a remote host on iOS.
听起来很愚蠢,initWithURL只适用于本地文件。但这很容易解决......
可以在此处找到苹果的完整说明和代码示例: https://developer.apple.com/library/mac/documentation/cocoa/Conceptual/Streams/Articles/NetworkStreams.html#//apple_ref/doc/uid/20002277-BCIDFCDI
答案 1 :(得分:0)
在initWithURL之后,您正在使用*流做什么吗?
如果要从本地文件中获取InputStream中的内容,则需要创建一个NSOutputStream来获取InputStream并将其重定向到Safari。所以我不认为只是initWithURL:使用url调用会告诉你很多,但是在safari中打开http:// url的调用将尝试确定内容类型并尝试输出文件。但我不认为safari能够显示内容,如果它是一个mulit-part mime yaml文件。