2013-11-08 3 views
1

Я загружаю изображения, видео с помощью фонов iOS 7 с NSURLSessionDownloadTask, и он отлично работает.Получите ответ Json в NSURLSessionBackground для NSURLSessionDownloadTask

Теперь, поскольку предложение Apple doc в фоновом режиме DataTask не будет работать, будут работать только Uploadtask и downloadtask.

Итак, с этой задачей загрузки i neet получить данные 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. но для этого я должен сохранить этот файл в моем каталоге документов, я не получаю ответ напрямую.

+0

Кажется, ваш ответ кодирован gzip, может быть, это проблема – dlinsin

ответ

1

URLSession: downloadTask: didFinishDownloadingToURL сообщите вам местоположение, в котором URLSession хранит загруженный результат.

в вашем случае, результатом будет json. Вы можете просто открыть этот файл и десериализовать nsdata в nsdictionary

Смежные вопросы