Я хотел переключиться на OAuth для моего интеграционного кода Twitter, и теперь, когда есть крайний срок менее чем за 7 недель (см. ссылку обратного отсчета), еще важнее сделать переход на OAuth. Я делаю Basic Authentication, что очень просто. К сожалению, OAuth, похоже, не является чем-то, что я мог бы разбить через пару часов.
http://www.countdowntooauth.com/
Итак, я ищу использовать библиотеку. Я собрал следующий список.
- MPOAuth
- MGTwitterEngine
- OAuthConsumer
Я вижу, что у MPOAuth есть некоторые отличные функции с хорошим кодом тестирования, но есть одна большая проблема. Это не работает. Пример проекта iPhone, который должен аутентифицироваться с помощью Twitter, вызывает ошибку, которую другие идентифицировали и зарегистрировали как ошибку.
http://code.google.com/p/mpoauthconnection/issues/detail?id=29
Последнее изменение кода было 11 марта, и эта ошибка была подана 30 марта. Прошло более месяца, и эта критическая ошибка еще не исправлена. Поэтому я перешел к MGTwitterEngine.
Я снял исходный код и загрузил его в Xcode. Сразу же обнаруживаю, что существует несколько зависимостей, и в файле README нет четкого списка шагов для извлечения этих зависимостей и их интеграции с проектом, чтобы он успешно строился. Я вижу это как признак того, что проект недостаточно зрелый для прайм-тайма. Я также вижу, что проект ссылается на 2 библиотеки для JSON, когда их должно быть достаточно. Один из них - TouchJSON, который хорошо работает для меня, поэтому мне снова не рекомендуется использовать этот проект для своих приложений.
Я обнаружил, что MGTwitterEngine использует OAuthConsumer, который является одним из многих проектов OAuth, размещенных в проекте OAuth в Google Code.
Похоже, OAuthConsumer - хороший выбор на первый взгляд. Он размещается с другими библиотеками OAuth и имеет с ним хорошую документацию. Я снял код, и он строит без ошибок, но у него есть много предупреждений. И когда я запускаю новую функцию Build and Analyze в Xcode 3.2, я вижу 50 результатов анализатора. Многие из них отмечены как потенциальные утечки памяти, которые, вероятно, приведут к нестабильности в любом приложении, которое использует эту библиотеку.
Кажется, что нет явного победителя, и я должен пойти с чем-то перед большим сроком выхода в Twitter OAuth.
Любые предложения?