В 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 на нужный. А вот и результат для всех трех типов:
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: