Objetivo de implementación vs. SDK base con TWTweetComposeViewController

He establecido mi base SDK a 6.0 y mi destino de implementación a 6.0.

Cuando compilo, obtengo el siguiente error. 'TWTweetComposeViewController' está en desuso: primero en desuso en iOS 6.0

Si elimino mi Objetivo de deployment hasta 5.1, se comstackrá sin errores. Dado que TWTweetComposeViewController está "Disponible en iOS 5.0 y posterior", esto parece contrario a lo que esperaba.

Simplemente lo dejo así, pero también estoy usando Social / Social.h, que solo está disponible en 6.0 y más y será propenso a errores para los usuarios de 5.1.

Esta es la línea de código problemática:

if ([TWTweetComposeViewController canSendTweet]){ 

Racking mi cerebro en esto. Espero que sea solo un lugar oscuro que me he perdido.

Gracias por adelantado.

TWTweetComposeViewController está en desuso, porque para iOS 6.0 hay un nuevo marco para manejar todas las interacciones sociales llamadas Social.framework. Dentro de allí, puede encontrar una funcionalidad similar para publicar tweets a través de SLComposeViewController .

Para resolver su problema con iOS6, tiene que tener opciones dependiendo de lo que admita:

  • Apoye iOS6 y superior: solo use SLComposeViewController. Vincular framework Social.framework y terminarlo.

  • Soporte iOS 5.xy superior: necesita más trabajo. Primero debe verificar si el SLComposeViewController existe (por lo que está en iOS 6.0), y luego utilizarlo y presentarlo, de lo contrario use el TWTweetComposeViewController para iOS anterior. También necesitará vincular framework Social.framework como opcional.

Como nota al margen, si solo respaldes a iOS 6, puedes usar el mismo controller para publicar en Facebook de forma gratuita, así que considera usar la integración de Facebook también.

En lugar de TWTweetComposeViewController use SLComposeViewController que se incluye en Social Framework

 - (IBAction)SendTweet:(id)sender { if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) { mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; [mySLComposerSheet setInitialText:[NSString stringWithFormat:@" THIS IS AN EXAMPLE",mySLComposerSheet.serviceType]]; [mySLComposerSheet addImage:[UIImage imageNamed:@"image.png"]]; [mySLComposerSheet addURL:[NSURL URLWithString:@"http://www.StackOverflow.com/"]]; [self presentViewController:mySLComposerSheet animated:YES completion:nil]; } [mySLComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) { NSLog(@"dfsdf"); NSString *output; switch (result) { case SLComposeViewControllerResultCancelled: output = @"ACtionCancelled"; break; case SLComposeViewControllerResultDone: output = @"Post Successfull"; [self dismissViewControllerAnimated:YES completion:nil]; break; default: break; } UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Twitter Message" message:output delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alert show]; }]; }