2012-10-01 35 views
37

我的代碼按預期工作,只是需要擺脫此警告消息。TWTeetComposeViewController在IOS6中已棄用。在ios6中的任何內置視圖控制器的替代?TWTweetComposeViewController在iOS6中已棄用

這是我的示例代碼。

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

你在哪裏看到TWTeetComposeViewController? http://developer.apple.com/library/ios/#documentation/Twitter/Reference/TWTweetSheetViewControllerClassRef/Reference/Reference.html – Martin

回答

68

裏有一些變化,使用的iOS 5 &的iOS 6
1.關於圖書館之間的社交網絡:在iOS 6中,我們使用的社會框架,而不是Twitter的 框架。
2.我們使用SLComposeViewController而不是TWTweetComposeViewController。
3.請比較一些API用下面的代碼:

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"); 
    } 

只是有一點點差異,但他們更偉大。

的偏好: - safilsunny提示:http://www.mobile.safilsunny.com/integrating-facebook-ios-6/

感謝,

27

是的,你應該用在iOS 6的Social Framework這是得益於Facebook的整合,現在目前在iOS上。你將能夠從那裏使用Twitter和Facebook。