В 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 на нужный. А вот и результат для всех трех типов:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *