Twitter已集成在 iOS 5.0 中,Facebook已集成在 iOS 6.0 中.我们的教程侧重于使用Apple提供的类,Twitter和Facebook的部署目标分别是iOS 5.0和iOS 6.0.
第1步 : 创建一个简单的基于视图的应用程序.
第2步 : 选择项目文件,然后选择目标,然后在选择框架中添加 Social.framewor k和 Accounts.framework .
第3步 : 添加两个名为facebookPost和twitterPost的按钮,并为它们创建ibActions.
步骤4 : 更新 ViewController.h 如下 :
#import <Social/Social.h> #import <Accounts/Accounts.h> #import <UIKit/UIKit.h> @interface ViewController : UIViewController -(IBAction)twitterPost:(id)sender; -(IBAction)facebookPost:(id)sender; @end
第5步 : 更新 ViewController.m 如下 :
#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } -(IBAction)facebookPost:(id)sender { SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 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:@"My test post"]; //Adding the URL to the facebook post value from iOS [controller addURL:[NSURL URLWithString:@"http://www.test.com"]]; //Adding the Text to the facebook post value from iOS [self presentViewController:controller animated:YES completion:nil]; } -(IBAction)twitterPost:(id)sender { SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; [tweetSheet setInitialText:@"My test tweet"]; [self presentModalViewController:tweetSheet animated:YES]; } @end
当我们运行应用程序并点击facebookPost时,我们将得到以下输出 :
当我们点击twitterPost,我们将得到以下输出 :