Нужны ветераны: история ASIHTTPRequest - PullRequest
2 голосов
/ 18 декабря 2011

Пролог

После статьи [request release]; в блоге создателя этого фреймворка и - по общему признанию - не большого поклонника ASIHTTPRequest (отныне: ASI)во-первых, мне интересно, как / почему это вообще началось.

Первое, что я заметил, прочитав пост, в котором объявлено о создании ASI как , была проста в использовании оболочка CFNetwork .второй абзац:

NSURLConnection прост в использовании, но он не дает возможности получить информацию о ходе загрузки - очень важно, если ваше приложение связано с загрузкой больших файлов.

Не совсем тривиально получить устаревший справочный материал Apple по активно разрабатываемому и поддерживаемому API, поэтому мне не удалось получить документацию по конкретным классам, предшествующим 2008 году, но из формирующегося изображения приведенное выше утверждение выглядит как неверно:

Когда было объявлено ASI, у NSURLRequest был метод для возврата HTTPBodyStreamна самом деле, этот метод восходит где-то задолго до 2008 года, возможно, в 2006-м, но его трудно определить, поскольку URL-адреса ссылок Apple со временем сильно менялись, что делает использование archive.org довольно хлопотным.


Итак, после этого довольно длинного пролога, здесь актуальный вопрос:

Возможно / невозможно просто опрашивать HTTPBodyStream на предмет значения его свойства NSStreamFileCurrentOffsetKey через подходящие интервалы или было ASIэто чудовище из нескольких тысяч строк кода CoreFoundation, родившееся из-за небольшого недосмотра?

Независимо от этого, почему он был сохранен / используется ли он еще долго после добавления обратных вызовов процесса загрузки к * 1031?* в iOS 3.0?

Тем более, что те ресурсы, которые действительно получают прибыль от отслеживания процесса загрузки, в любом случае должны передаваться в потоковом режиме ...

Я все еще вижу, что ASI рекомендовал довольно много здесь, на StackOverflow, если кто-то спросито вариантах загрузки данных - независимо от того, не играет ли он хорошо с любым изболее новые вещи Apple, такие как платформа Twitter или ARC, а также предупреждения и проблемы статического анализа, которые он вызывает.Что с этим?

Спасибо за любые идеи!

1 Ответ

0 голосов
/ 01 февраля 2012

Я не могу ответить на первую часть вашего вопроса, но ответить на эту часть:

Я все еще вижу, что ASI рекомендовал довольно много здесь, на StackOverflow, если кто-то спрашивает о вариантах загрузки данных - независимо от того, нет хорошо играть с любой из новых вещей Apple, таких как Twitter рамки или ARC и предупреждения и статический анализ выдает его производит. Что с этим?

Не знаю точно, что вы видели, но текущая версия git master ASIHTTPRequest:

  • отлично работает с ARC (вы должны отключить его для исходных файлов ASIHTTPRequest, так же, как вы делаете для AFNetworking)
  • не выдает никаких предупреждений с последней версией xcode
  • не вызывает проблем статического анализа с последней версией xcode

Я не уверен в упомянутой вами проблеме фреймворка Twitter, я никогда не видел, чтобы кто-либо упоминал о каких-либо проблемах раньше.

...