Переадресация dataWithContentsOfURL и HTTP 302 - PullRequest
2 голосов
/ 06 марта 2012

Как [NSData dataWithContentsOfURL:] обрабатывает 302 перенаправления?

Я запрашиваю файл MP3 с сервера, передав URL-адрес страницы PHP, которая проверит пользовательский агент и перенаправит на файл MP3 надругой сервер.

Ответы [ 2 ]

2 голосов
/ 06 марта 2012

Никогда не используйте [NSData dataWithContentsOfURL:] в реальном приложении. Это делает синхронное сетевое соединение, и ваше приложение будет убито ОС, если это не завершится достаточно быстро.

Придерживайтесь NSURLConnectionDataDelegate или используйте [NSURLConnection sendAsynchronousRequest:queue:completionHandler:.

1 голос
/ 09 апреля 2012

Напишите вашу loadImageInBackground функцию, которая содержит [NSData dataWithContentsOfURL:] и запустите его в фоновом потоке, например:

[self performSelectorInBackground:@selector(loadImageInBackground:) withObject:nil];

Это не приведет к синхронному сетевому соединению (следовательно, не остановит интерфейс).

...