在Facebook上分享截图

我正在使用以下代码在我的iPhone上截取屏幕截图并将其保存到相册中。 我想要的是一个共享button来自动发送这个截图和Facebook。 有没有人有任何想法如何实施?

- (UIImage*)captureView:(UIView *)view { CGRect rect = [[UIScreen mainScreen] bounds]; UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurrentContext(); [view.layer renderInContext:context]; UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return img; } - (void)saveScreenshotToPhotosAlbum:(UIView *)view { UIImageWriteToSavedPhotosAlbum([self captureView:self.view], nil, nil, nil); } - (void)viewDidLoad { [super viewDidLoad]; [self setUpData]; CGRect frame = self.view.bounds; frame.size.height -= 90; self.tableView = [[UITableView alloc] initWithFrame:frame style:UITableViewStylePlain]; [self.tableView setBackgroundColor:[UIColor clearColor]]; [self.tableView setDataSource:self]; [self.tableView setDelegate:self]; [self.view addSubview:self.tableView]; UIBarButtonItem *shareBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(saveScreenshotToPhotosAlbum:)]; [self.navigationItem setRightBarButtonItem:shareBtn]; } 

那么,你可以使用iOS6内置的Facebook集成。 在Build Phases包含Social框架代码应该看起来像这样剪断:

 if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]){ mySLComposerSheet = [[SLComposeViewController alloc] init]; mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; [mySLComposerSheet setInitialText:@"Some Text"]; [mySLComposerSheet addImage:[self captureView:self.view]]; [self presentViewController:mySLComposerSheet animated:YES completion:nil]; } 

*注意,这将不会“自动”分享截图,但它会将其附加到Facebook的撰写表,用户可以发布,如果他/她想。 要自动执行此操作,您需要进行更深入的Facebook集成,并且用户应该允许您的应用在他/她的墙上发布。 如果项目Deployment target是iOS 6.0以下ShareKit则应该再次使用Social框架或ShareKit