2012-10-01 9 views
37

Mój kod działa zgodnie z oczekiwaniami, tylko dlatego, że muszę pozbyć się tego komunikatu ostrzegawczego. TWTeetComposeViewController przestarzałe w IOS6. Każdy zamiennik tego wbudowanego kontrolera widoku w ios6?TWTweetComposeViewController przestarzałe w IOS6

Oto mój przykładowy kod.

if ([TWTweetComposeViewController canSendTweet]) { 
    // Initialize Tweet Compose View Controller 
    TWTweetComposeViewController *vc = [[TWTweetComposeViewController alloc] init]; 
    // Settin The Initial Text 
    [vc setInitialText:@"This tweet was sent using the new Twitter framework available in iOS 5."]; 
    // Adding an Image 
    UIImage *image = [UIImage imageNamed:@"sample.jpg"]; 
    [vc addImage:image]; 
    // Adding a URL 
    NSURL *url = [NSURL URLWithString:@"http://mobile.tutsplus.com"]; 
    [vc addURL:url]; 
    // Setting a Completing Handler 
    [vc setCompletionHandler:^(TWTweetComposeViewControllerResult result) { 
     [self dismissModalViewControllerAnimated:YES]; 
    }]; 
    // Display Tweet Compose View Controller Modally 
    [self presentViewController:vc animated:YES completion:nil]; 
} else { 
    // Show Alert View When The Application Cannot Send Tweets 
    NSString *message = @"The application cannot send a tweet at the moment. This is because it cannot reach Twitter or you don't have a Twitter account associated with this device."; 
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Oops" message:message delegate:nil cancelButtonTitle:@"Dismiss" otherButtonTitles:nil]; 
    [alertView show]; 
} 
+0

Skąd widać, że TWTeetComposeViewController ?? http://developer.apple.com/library/ios/#documentation/Twitter/Reference/TWTweetSheetViewControllerClassRef/Reference/Reference.html – Martin

Odpowiedz

68

Są tam pewne zmiany przy użyciu sieci społecznych między iOS 5 & iOS 6.
1. O bibliotece: w iOS 6 używamy ram Social zamiast Twittera Framework.
2. Używamy SLComposeViewController zamiast TWTweetComposeViewController.
3.Please porównać jakieś api z następującego kodu:

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) { 

     SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; 

     SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){ 
      if (result == SLComposeViewControllerResultCancelled) { 

       NSLog(@"Cancelled"); 

      } else 

      { 
       NSLog(@"Done"); 
      } 

      [controller dismissViewControllerAnimated:YES completion:Nil]; 
     }; 
     controller.completionHandler =myBlock; 

     //Adding the Text to the facebook post value from iOS 
     [controller setInitialText:@"Test Post from mobile.safilsunny.com"]; 

     //Adding the URL to the facebook post value from iOS 

     [controller addURL:[NSURL URLWithString:@"http://www.mobile.safilsunny.com"]]; 

     //Adding the Image to the facebook post value from iOS 

     [controller addImage:[UIImage imageNamed:@"fb.png"]]; 

     [self presentViewController:controller animated:YES completion:Nil]; 

    } 
    else{ 
     NSLog(@"UnAvailable"); 
    } 

Istnieje tylko niewielkie różnice, ale są one bardziej wielki.

preferencje: - safilsunny Porady: http://www.mobile.safilsunny.com/integrating-facebook-ios-6/

Dzięki,

27

Tak, powinniśmy używać Social Framework na iOS 6. Jest to możliwe dzięki integracji Facebooka teraz obecny na iOS. Będziesz mógł korzystać z Twittera i Facebooka.