Objective-C RSS阅读器 - XML阅读错误
问题描述:
我是obj-C的新手,我试图制作一个简单的RSS阅读器。它可以与外部RSS文件一起使用,但当我在基于AWS服务的服务器中加载同一文件时不会。Objective-C RSS阅读器 - XML阅读错误
这是代码片段:
[super viewDidLoad];
feeds = [[NSMutableArray alloc] init];
NSURL *url = [NSURL URLWithString:@"http://images.apple.com/main/rss/hotnews/hotnews.rss"];
parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
[parser setDelegate:self];
[parser setShouldResolveExternalEntities:NO];
[parser parse];
我试图避免通过Filezilla手动上传,但使用wget命令,我也试过ascii模式传输,但仍然无法正常工作。 RSS阅读器显示一个空的列表。
答
这是URL的问题。我有相同的代码崩溃,错误
Unable to read data
我换成代码
feedURL = NSURL(string:"http://images.apple.com/main/rss/hotnews/hotnews.rss#sthash.fuVEonEt.dpuf")!
parser = XMLParser(contentsOf:feedURL as URL)!
parser.delegate = self
parser.parse()
现在工作得很好。
答
正如@Larme所建议的那样,它是App Transport Security Issue How do I load an HTTP URL with App Transport Security enabled in iOS 9?。
这解决了我的问题!
我不知道它是否与AWS或Objective-C有关。但是你可以做到这一点,将它们作为NSString读取,并检查是否有一些差异。另外,这两个页面都以'.rss'结尾? – Larme
这两个页面都以'.rss'结尾。我使用Apple.com中的相同文件。原始的一个在我的应用程序上工作,而上传到我的服务器上的相同文件却不工作:( – Otto
什么是错误?AWS的页面上的url是否为零? – Larme