当我在Xcode中运行以下代码并选择了iOS模拟器时,它解析没有问题,但是当我在设备(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)")
}`
答案 0 :(得分:0)
为了帮助隔离错误,首先将URL的内容加载到字符串中可能会有所帮助 - 这有助于您确定它是安全问题还是解析问题。您可能还需要取消强制解包并使用if / let以便更清楚地看到错误流。
话虽如此,这里有一些事情需要检查:
1)设备是否在线?
2)设备是否连接到阻止某些资源的代理,VPN或其他中间设备?
3)使用Safari时,设备是否能够访问该网址?
4)您的解析器是否能够读取其他RSS源?
根据我的经验,2)经常是问题。