twittersupport servicio destacados administrar objective-c ios twitter ios6 restkit

objective c - servicio - Usuario de inicio de sesión con Twitter en iOS... ¿qué usar?



tweets destacados (4)

Sé que se han hecho preguntas similares antes (he leído la mayoría de ellas), pero aún no he encontrado una buena respuesta.

Necesito iniciar sesión / registrar usuarios con Twitter desde iOS. Tengo este sitio web donde ya estoy haciendo eso (www.Meer.li) y ahora también tengo que hacerlo en la aplicación.

Sé que puedo obtener acceso al nombre de usuario de Twitter en el dispositivo iOS y ver si está en la base de datos de mi aplicación, pero ¿cómo manejo las cosas cuando el usuario aún no está registrado en www.Meer.li?

Lo siento si es una pregunta trivial, pero estoy un poco confundido sobre si debería usar el marco social iOS o usar alguna biblioteca OAuth (Restkit, etc.).

Espero que alguien pueda guiarme en la dirección de una respuesta o incluso un ejemplo.

Por aclarar:

Muchas gracias por la guía. Parece razonable. Solo para estar seguro, así es como entiendo los pasos a seguir:

1: el usuario hace clic en iniciar sesión con el botón de twitter

2: obtenemos cuentas de twitter de los usuarios y le preguntamos cuál quiere usar

3: Enviamos una solicitud a Twitter con la clave y el secreto de su propia aplicación y la información de Twitter de los usuarios

4: Si se recibe una buena respuesta, envíe la información recibida al método en su aplicación web que crea usuarios y realice una solicitud desde allí a Twitter para obtener la información de usuario restante.

5: Deje que el usuario se divierta

¿Es eso correcto? ¿Por qué nadie ha documentado este flujo muy bien antes? Suena como algo que debería ser muy fácil de hacer.


Si tiene como objetivo iOS 5.x anterior, entonces es necesario un inicio de sesión de OAuth con UIWebView. Y puedes saltarte mi respuesta de aquí ...

Pero si apuntas a iOS 5.0 o superior, recomendaría iOS Framework de iOS. Como dice el documento oficial de Twitter aquí . Apple integra Twitter por una razón, y apuesto a que más personas están usando iOS 5.xo 6.x. En este caso, se trata de un simple procedimiento paso a paso, con todas las API disponibles, y no se necesita ninguna clave o secreto.

  1. Obtenga la instancia de cuenta para la cuenta de Twitter del usuario
  2. Solicitar permiso del usuario para acceder a las cuentas de Twitter disponibles
  3. Agarra las cuentas disponibles
  4. Realiza una solicitud autenticada

Entonces, el problema podría ser: si el usuario no ha iniciado sesión en el dispositivo, es posible que deba recordarle que vaya a Configuración y que inicie sesión, o que use una forma "complicada" de mostrar el inicio de sesión:

- (void)showTwitterSettings{ TWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init]; // Create the completion handler block. [tweetViewController setCompletionHandler:^(TWTweetComposeViewControllerResult result) { [self dismissModalViewControllerAnimated:YES]; }]; // Present the tweet composition view controller modally. [self presentModalViewController:tweetViewController animated:YES]; //tweetViewController.view.hidden = YES; for (UIView *view in tweetViewController.view.subviews){ [view removeFromSuperview]; }

}



Nota: iOS 5+ se ocupa de todos los dispositivos OAuth y cargas pesadas, así que solo use esta respuesta si está soportando versiones anteriores del sistema operativo.

Hay una buena presentación de WWDC 2012 sobre cómo hacer esto ahora que el marco Twitter está en desuso. Inicie sesión para ver este enlace: http://adcdownload.apple.com/wwdc_2012/wwdc_2012_session_pdfs/session_306__integrating_with_facebook_twitter_and_sina_weibo.pdf

solo tenía que hacer esto yo mismo.

de lejos, la mejor respuesta que encontré fue TWReverseAuthExample de Sean Cook . (bifurqué su proyecto github, luego lo reduje a lo esencial que necesitaba como submódulo para mis aplicaciones basadas en ARC en TWReverseAuthSubModule , eliminando el proyecto de ejemplo, et al, ya que sabía que podía volver a él en el github original fuente.)

Básicamente, si sigue el ejemplo, sigue los pasos descritos en las páginas web de Twitter API .

al final, lo que tienes que hacer es crear un código que se parezca mucho al ejemplo de Sean.

había otros recursos en la red que originalmente había comenzado a usar, lo que me permitió "iniciar sesión usando Twitter" de forma que realizara la autorización en un UIWebView anidado o incluso saliera a safari y luego regresara a la aplicación a través de la URL de la aplicación dedicada esquema. y estos pueden ser útiles si necesita hacer cosas anteriores a iOS 5.x.

pero el ejemplo anterior aprovecha al máximo el soporte nativo de iOS para Twitter, y funciona también con iOS 6.