2010-05-15 13 views
25

Ho cercato di passare a OAuth per il mio codice di integrazione di Twitter e ora che c'è una scadenza in meno di 7 settimane (vedi collegamento conto alla rovescia) è ancora più importante fare il salto a OAuth. Ho fatto l'autenticazione di base che è estremamente facile. Sfortunatamente OAuth non sembra essere qualcosa che vorrei frustare insieme in un paio d'ore.Quale libreria OAuth trovi migliore per Objective-C/iPhone?

http://www.countdowntooauth.com/

Così sto cercando di utilizzare una libreria. Ho messo insieme il seguente elenco.

  • MPOAuth
  • MGTwitterEngine
  • OAuthConsumer

vedo che MPOAuth ha alcune caratteristiche grandi con una buona dose di testare il codice in vigore, ma c'è un grosso problema. Non funziona. Il progetto di esempio di iPhone che dovrebbe autenticarsi con Twitter causa un errore che altri hanno identificato e registrato come un bug.

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

L'ultima modifica del codice era l'11 marzo e questo bug è stata depositata il 30 E 'stato più di un mese di marzo e questo bug critico non è stato ancora risolto. Quindi sono passato a MGTwitterEngine.

Ho estratto il codice sorgente e l'ho caricato in Xcode. Immediatamente scopro che ci sono alcune dipendenze e il file README non ha una chiara lista di passaggi per recuperare quelle dipendenze e integrarle con il progetto in modo che si costruisca con successo. Vedo questo come un segno che il progetto non è abbastanza maturo per il prime time. Vedo anche che il progetto fa riferimento a 2 librerie per JSON quando uno dovrebbe essere sufficiente. Uno è TouchJSON che ha funzionato bene per me quindi sono di nuovo scoraggiato dal basarmi su questo progetto per le mie applicazioni.

Ho trovato che MGTwitterEngine utilizza OAuthConsumer che è uno dei molti progetti OAuth ospitati da un progetto OAuth su Google Code.

Sembra OAuthConsumer è una buona scelta a prima vista. È ospitato con altre librerie OAuth e ha una buona documentazione con esso. Ho tirato giù il codice e si costruisce senza errori ma ha molti avvertimenti. E quando eseguo la nuova funzione Build and Analyze in Xcode 3.2 vedo 50 risultati dell'analizzatore. Molti sono contrassegnati come potenziali perdite di memoria che potrebbero portare all'instabilità in qualsiasi app che utilizza questa libreria.

Sembra che non ci sia un chiaro vincitore e devo andare avanti con qualcosa prima della grande scadenza di OAuth su Twitter.

Qualche suggerimento?

+0

OAuthConsumer non sembra creare per il sistema operativo iPhone senza apportare alcune modifiche. Ho risolto alcuni dei problemi di memoria in cui mi sento a mio agio nell'apportare modifiche. Ci sono alcuni bit della Core Foundation che non capisco abbastanza bene da apportare modifiche. – Brennan

+0

Ho trovato una porta di OAuthProvider pronta per l'iPhone. La versione principale ha un codice di garbage collection che non è valido per l'iPhone. http://github.com/jdg/oauthconsumer – Brennan

+1

Ho trovato Twitter-OAuth-iPhone che utilizza UIWebView per implementare OAuth e utilizza MGTwitterEngine e OAuthConsumer. Sembra un'opzione valida finché MPAuth non è stato corretto per l'iPhone. http://github.com/bengottlieb/Twitter-OAuth-iPhone – Brennan

risposta

2

Ho usato bengottlieb's Twitter-OAuth senza problemi.

Build + Analyze trova solo un problema (in SA_OAuthTwitterController.m) ed è solo una variabile che ha un valore memorizzato durante l'inizializzazione che non viene mai letto. Non ho visto nessuna falla nel mio uso.È stato semplice da implementare e finora (due app nel negozio che lo utilizzano, un terzo in fase di sviluppo) senza problemi.

1

Recentemente ho dovuto implementare "post su Twitter".

Quello che ho trovato era che nessuno dei vari progetti avrebbe funzionato immediatamente. Sono tutti vicini, ma non proprio lì.

Alla fine ho optato per OAuthConsumer, SBJSon di Stig Brautaset, con alcune idee in più del codice preso in prestito da Twitter-OAuth-iPhone di Ben Gottlieb per l'elaborazione dei pin.

Probabilmente avrei guardato MGTwitterEngine, ma non ho avuto bisogno di colpire gran parte dell'API - solo aggiornamenti di stato.

Mi sembra di ricordare di dover incidere OAuthConsumer per impostare correttamente alcuni parametri: quello è stato il più grande ostacolo.

0

Prova questo quadro per dimensioni: https://github.com/materik/meauth-ios, funziona bene per l'API di BitBucket e sono in corso per testarlo con altri siti. Si prega di dare un feedback e contribuire.