2010-05-15 25 views
25

Tôi đã tìm cách chuyển sang OAuth cho mã tích hợp Twitter của mình và bây giờ có thời hạn ít hơn 7 tuần (xem liên kết đếm ngược), điều quan trọng hơn là thực hiện bước nhảy tới OAuth. Tôi đã thực hiện Xác thực cơ bản rất dễ dàng. Thật không may OAuth dường như không phải là một cái gì đó mà tôi sẽ whip với nhau trong một vài giờ.Bạn thấy thư viện OAuth nào phù hợp nhất với Objective-C/iPhone?

http://www.countdowntooauth.com/

Vì vậy, tôi đang tìm cách sử dụng thư viện. Tôi đã đặt cùng danh sách sau đây.

  • MPOAuth
  • MGTwitterEngine
  • OAuthConsumer

Tôi thấy rằng MPOAuth có một số tính năng tuyệt vời với một thỏa thuận tốt mã kiểm tra tại chỗ nhưng có một vấn đề lớn. Nó không hoạt động. Dự án mẫu iPhone được cho là xác thực với Twitter gây ra lỗi mà những người khác đã xác định và đăng nhập dưới dạng lỗi.

http://code.google.com/p/mpoauthconnection/issues/detail?id=29

Các thay đổi mã cuối cùng là ngày 11 tháng 3 và lỗi này đã được nộp vào ngày 30. Nó đã được hơn một tháng và lỗi nghiêm trọng này chưa được cố định được nêu ra. Vì vậy, tôi đã chuyển sang MGTwitterEngine.

Tôi đã kéo xuống mã nguồn và tải nó lên trong Xcode. Ngay lập tức tôi thấy rằng có một vài phụ thuộc và tệp README không có danh sách các bước rõ ràng để tìm nạp những phụ thuộc đó và tích hợp chúng với dự án để nó xây dựng thành công. Tôi thấy đây là một dấu hiệu cho thấy dự án không đủ trưởng thành trong thời gian đầu. Tôi cũng thấy rằng dự án tham chiếu tới 2 thư viện cho JSON khi một thư viện cần đủ. Một là TouchJSON đã làm việc tốt cho tôi vì vậy tôi một lần nữa nản lòng vì dựa vào dự án này cho các ứng dụng của tôi.

Tôi nhận thấy rằng MGTwitterEngine sử dụng OAuthConsumer là một trong nhiều dự án OAuth được lưu trữ bởi một dự án OAuth trên Google Code.

Dường như OAuthConsumer là một lựa chọn tốt ở cái nhìn đầu tiên. Nó được lưu trữ với các thư viện OAuth khác và có một số tài liệu tuyệt vời với nó. Tôi kéo xuống mã và nó xây dựng mà không có lỗi nhưng nó có nhiều cảnh báo. Và khi tôi chạy tính năng Xây dựng và Phân tích mới trong Xcode 3.2, tôi thấy 50 kết quả phân tích. Nhiều người được đánh dấu là rò rỉ bộ nhớ tiềm năng có thể dẫn đến bất ổn trong bất kỳ ứng dụng nào sử dụng thư viện này.

Có vẻ như không có người chiến thắng rõ ràng và tôi phải đi với một điều gì đó trước thời hạn Twitter OAuth lớn.

Mọi đề xuất?

+0

OAuthConsumer không xuất hiện để xây dựng cho iPhone OS mà không thực hiện một số điều chỉnh. Tôi đã giải quyết một số vấn đề về bộ nhớ mà tôi cảm thấy thoải mái khi thực hiện các thay đổi. Có một số bit Foundation Foundation trong đó tôi không hiểu đủ để thực hiện bất kỳ thay đổi nào. – Brennan

+0

Tôi đã tìm thấy một cổng của OAuthProvider đã sẵn sàng cho iPhone. Phiên bản chính có mã thu gom rác không hợp lệ cho iPhone. http://github.com/jdg/oauthconsumer – Brennan

+1

Tôi đã tìm thấy Twitter-OAuth-iPhone sử dụng UIWebView để triển khai OAuth và sử dụng MGTwitterEngine và OAuthConsumer. Nó trông giống như một lựa chọn khả thi cho đến khi MPAuth đã được sửa cho iPhone. http://github.com/bengottlieb/Twitter-OAuth-iPhone – Brennan

Trả lời

2

Tôi đã sử dụng số Twitter-OAuth của bengottlieb không có vấn đề gì.

Xây dựng + Phân tích chỉ tìm thấy một vấn đề (trong SA_OAuthTwitterController.m) và đó chỉ là một biến có giá trị được lưu trữ trong quá trình khởi tạo không bao giờ được đọc. Tôi đã không thấy bất kỳ rò rỉ nào trong việc sử dụng nó.Nó đã được đơn giản để thực hiện và cho đến nay (hai ứng dụng trong các cửa hàng sử dụng nó, một phần ba trong phát triển) không có vấn đề gì cả.

1

Gần đây tôi đã phải triển khai "đăng lên Twitter".

Điều tôi thấy là không có trong số các dự án khác nhau sẽ hoạt động ngoài hộp. Chúng đều ở gần, nhưng không hoàn toàn ở đó.

Cuối cùng tôi đã giải quyết trên OAuthConsumer, SBJSon của Stig Brautaset, với một số ý tưởng hơn mã mượn từ Twitter-OAuth-iPhone của Ben Gottlieb để xử lý pin.

Tôi có thể đã xem MGTwitterEngine, nhưng tôi không cần phải nhấn nhiều API đó - chỉ cập nhật trạng thái.

Tôi dường như nhớ lại việc phải hack OAuthConsumer để đặt một vài thông số chính xác - đó là trở ngại lớn nhất.

0

Hãy thử khung này cho kích thước: https://github.com/materik/meauth-ios, hoạt động tốt cho API của BitBucket và đang trong quá trình thử nghiệm với nhiều trang web hơn. Vui lòng cung cấp phản hồi và đóng góp.

Các vấn đề liên quan