Какую библиотеку OAuth вы найдете лучше всего для Objective-C/iPhone?
Я хотел переключиться на 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.
Любые предложения?
Ответы
Ответ 1
Я использовал bengottlieb Twitter-OAuth без проблем.
Build + Analyze находит только одну проблему (в SA_OAuthTwitterController.m) и это просто переменная, которая имеет значение, хранящееся во время инициализации, которое никогда не читается. Я не видел никаких утечек в моем использовании. Это было просто реализовать и до сих пор (два приложения в магазине, использующие его, третье в разработке) никаких проблем вообще.
Ответ 2
Новое однофайльное решение - TDOAuth: http://github.com/tweetdeck/TDOAuth.
Он хорошо протестирован в том, что он используется в iOS-клиентах TweetDeck.
Ответ 3
Недавно мне пришлось реализовать "сообщение в Twitter".
Я обнаружил, что ни один из различных проектов не будет работать из коробки. Они все близки, но не совсем там.
В конце концов я остановился на OAuthConsumer, Stig Brautaset SBJSon, с некоторыми идеями больше, чем код, заимствованный у Ben Gottlieb Twitter-OAuth-iPhone для обработки контактов.
Вероятно, я бы посмотрел на MGTwitterEngine, но мне не нужно было удалять эту часть API - просто обновления статуса.
Кажется, мне кажется, что нужно взломать OAuthConsumer, чтобы правильно установить несколько параметров - это был самый большой камень преткновения.
Ответ 4
Попробуйте эту версию Framework для размера: https://github.com/materik/meauth-ios, хорошо работает для API BitBucket и в процессе тестирования с большим количеством сайтов. Просьба дать отзыв и внести свой вклад.