В iOS 6 делиться контентом из приложения стало еще проще с помощью нового фреймворка Social.framework. Он обеспечивает доступ к трем социальным сетям: Facebook, Sina’s Weibo (для тех, кто не знает — это китайский микроблог, своего рода гибрид между Facebook и Twitter) и Twitter, чем вытесняет появившийся в iOS 5 Twitter.framework. Эти типы доступны в Social.framework:
SLServiceTypeFacebook
SLServiceTypeTwitter
SLServiceTypeSinaWeibo
Рассмотрим пример публикации в Facebook. Для этого добавим в проект Social.framework и подключим в заголовочном файле
#import "Social /Social.h" и в обработчике, например, кнопки напишем:
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{
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;
[controller setInitialText:@"Test FB Post From Mobile"];
[controller addURL:[NSURL URLWithString:@"http://idev.by"]];
[controller addImage:[UIImage imageNamed:@"Test FB Image.png"]];
[self presentViewController:controller animated:YES completion:Nil];
} else NSLog(@"UnAvailable");
Для Twitter и Sina’s Weibo нужно будет только изменить тип SLServiceTypeFacebook на нужный.