Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios swift 2中的XML解析器在设备上返回false_Ios_Xml_Swift_Nsxmlparser - Fatal编程技术网

Ios swift 2中的XML解析器在设备上返回false

Ios swift 2中的XML解析器在设备上返回false,ios,xml,swift,nsxmlparser,Ios,Xml,Swift,Nsxmlparser,当我在选择了iOS simulator的Xcode中运行以下代码时,它的解析没有问题,但当我在设备(iPhone 5c)上运行它时,我得到: 无法加载xml XML解析在0:0时失败:可选(“操作无法完成。(Cocoa错误-1.)) 我尝试了不同的xml文件,但这似乎是一个安全问题!? 我应该在我的项目中的某个地方设置权限吗 let url:String="http://images.apple.com/main/rss/hotnews/hotnews.rss#sthash.TyhRD7Zy.d

当我在选择了iOS simulator的Xcode中运行以下代码时,它的解析没有问题,但当我在设备(iPhone 5c)上运行它时,我得到: 无法加载xml XML解析在0:0时失败:可选(“操作无法完成。(Cocoa错误-1.))

我尝试了不同的xml文件,但这似乎是一个安全问题!? 我应该在我的项目中的某个地方设置权限吗

let url:String="http://images.apple.com/main/rss/hotnews/hotnews.rss#sthash.TyhRD7Zy.dpuf"
let urlToSend: NSURL = NSURL(string: url)!

parser = NSXMLParser(contentsOfURL: urlToSend)!
parser.delegate = self

if !parser.parse() {
   let error = parser.parserError
   let line = parser.lineNumber
   let col = parser.columnNumber
   print("XML parsing failed at \(line):\(col): \(error?.localizedDescription)")
}`

为了帮助隔离错误,首先将URL的内容加载到字符串中可能会有所帮助—这将帮助您隔离是安全问题还是解析问题。您可能还希望删除“力展开”并使用if/let,以便更清楚地看到错误流

也就是说,这里有一些东西需要检查:

1) 设备在线吗

2) 设备是否连接到阻止某些资源的代理、VPN或其他中介

3) 当您使用Safari时,设备是否能够访问该URL

4) 您的解析器能够读取其他RSS提要吗


根据我的经验,2)往往是问题所在。

@Walter:因为这解决了你的问题,所以如果其他人遇到同样的问题,将答案标记为正确可以帮助他们确定解决方案。