Integre twitter en iOS 5 pero mantenga la compatibilidad hacia atrás con iOS más antiguo.

He estado siguiendo este gran tutorial sobre cómo integrar Twitter en tu aplicación. Sé que hay otras forms en que los progtwigdores han usado Twitter para integrar iOS 5, pero mi pregunta es esta:

Mi aplicación es compatible con iOS 3.0+, así que si integro Twitter utilizando solo la forma de iOS 5, ¿cómo afectará esto a mis usuarios que no usan iOS 5? ¿Funcionará incluso para ellos?

¡Gracias!

El marco oficial de API no funcionaría desafortunadamente ya que la aplicación / integración de Twitter solo está disponible en iOS 5

Una buena solución es utilizar ShareKit , una API gratuita que le permite integrar Twitter, Facebook y otras networkinges sociales.

Si está bien solo haciendo que Twitter esté disponible para los usuarios de iOS 5, puede comprobar si Twitter está disponible con esto:

// Don't forget to import Twitter! #import <Twitter/Twitter.h> .... if([TWTweetComposeViewController class] != nil) { // your code here } 

Además, asegúrese de que al agregar el marco de Twitter lo configure como opcional.

Debe search en DETweetComposeViewController . Lo construimos solo para este propósito. Es una reimplementación compatible con iOS4 del TWTweetComposeViewController.

Use enlaces débiles y algún código como el siguiente:

  - (void)tweet { Class tweeterClass = NSClassFromString(@"TWTweetComposeViewController"); if(tweeterClass != nil) { if([TWTweetComposeViewController canSendTweet]) { TWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init]; tweetViewController.completionHandler = ^(TWTweetComposeViewControllerResult result) { if(result == TWTweetComposeViewControllerResultDone) { } [self dismissViewControllerAnimated:YES completion:nil]; }; [self presentViewController:tweetViewController animated:YES completion:nil]; } else { #if !(TARGET_IPHONE_SIMULATOR) [self displayAlert:@"You can't send a tweet right now, make sure your device has an internet connection and you have at least one Twitter account setup."]; #else NSString *tweetString = [NSString stringWithFormat:@"http://mobile.twitter.com/home?status=%@%@", [self urlEncode:@"Check out this awesome pic: "] ,[self urlEncode:[_blobTweet.shortUrl absoluteString]]]; NSURL *tweetURL = [NSURL URLWithString:tweetString]; if ([[UIApplication shanetworkingApplication] canOpenURL:tweetURL]) { [[UIApplication shanetworkingApplication] openURL:tweetURL]; } #endif } } else { // no Twitter integration could default to third-party Twitter framework } } @end