XML swift 中的解析器 2 returns false 在设备上
XML parser in swift 2 returns false on device
当我 运行 在 Xcode 中使用 iOS 模拟器选择以下代码时,它解析没有问题,但是当我 运行 它在设备上时(iPhone 5c) 我得到:
加载失败xml
XML 在 0:0 解析失败:可选("The operation couldn’t be completed. (Cocoa error -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) 通常是问题所在。
当我 运行 在 Xcode 中使用 iOS 模拟器选择以下代码时,它解析没有问题,但是当我 运行 它在设备上时(iPhone 5c) 我得到: 加载失败xml XML 在 0:0 解析失败:可选("The operation couldn’t be completed. (Cocoa error -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) 通常是问题所在。