我有一个iOS应用程序,我从一个亚马逊S3服务器的plist文件中获取数据。我想使用新的NSURLSession框架来获取数据。所以我有以下代码(我使用的是Ray Wenderlich网络教程)。NSURLSession没有从plist文件检索数据
NSString *dataUrl = @"https://s3.amazonaws.com/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.plist";
NSURL *url = [NSURL URLWithString:dataUrl];
// 2
NSURLSessionDataTask *downloadTask = [[NSURLSession sharedSession]
dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
// 3: Handle response here with more of my code
}];// 4
[downloadPhotoTask resume];
如果我从* dataURL复制URL并将其放到网络浏览器中,它就会下载文件。但在我的iOS应用程序中没有数据,错误是“流中的字节太少”。
有没有人有我缺少的想法?
你正在恢复错误的任务。 – vadian
因此,在你的completionHandler(评论#3)数据是零,你会得到一个NSError,说流中的字节太少?你能发布确切的错误消息,以及关于'data'和'response'的信息吗? –
您是否检查了completionHandler中的错误?此外,您的代码与Ray Wenderlich代码不同,具体而言,downloadTask是一个局部变量。我不知道它在超出范围时的表现如何,但很有可能会取消下载。 – Gruntcakes