1

我正在使用 NSURLSessionDownloadTask 下载带有 iOS 7 背景会话的图像和视频,它工作正常。

现在,正如 Apple 文档在后台 DataTask 建议的那样,DataTask 不起作用,只有 Uploadtask 和 downloadtask 会起作用。

所以,通过这个下载任务,我需要获取 json 数据。所以我用 url http://www.abc.com/downloads/weather_sample/test.php?format=json测试它所以在这个方法

- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error{          
    NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
    NSDictionary *httpResponse = [response allHeaderFields];
}

我没有得到适当的回应,它是

     <NSHTTPURLResponse: 0x894de00> { URL: http://www.abc.com/downloads/weather_sample/test.php?format=json } { status code: 200, headers {
    Connection = "Keep-Alive";
    "Content-Encoding" = gzip;
    "Content-Length" = 734;
    "Content-Type" = "application/json";
    Date = "Fri, 08 Nov 2013 06:42:29 GMT";
    "Keep-Alive" = "timeout=2, max=4000";
    Server = "Apache/2.2.15 (CentOS)";
    Vary = "Accept-Encoding";
    "X-Powered-By" = "PHP/5.3.3";
} }

虽然我可以将 test.php 文件存储在我的文档目录中,然后能够解析为 json。但为此我必须将该文件存储在我的文档目录中,我没有直接得到响应。

4

1 回答 1

1

URLSession:downloadTask:didFinishDownloadingToURL 告诉你 URLSession 存储下载结果的位置。

在您的情况下,结果将是一个 json。您可以打开该文件并将 nsdata 反序列化为 nsdictionary

于 2013-12-19T06:44:29.127 回答