Social.frameworkはiOS6で追加されたFacebookやWeiboとの連携機能を開発者が利用するためのフレームワークです。
(Twitterとの連携機能もTwitter.frameworkだけでなく、Social.frameworkからも利用することが可能です。)
基本的な使い方は、iOS5で追加されたTwitter.frameworkと一緒ですがインスタンスの生成方法などが一部異なっています。以下は、フレームワークから提供されているUIを利用して、URLとコメントをFacebookに投稿する場合の例です。
- (void)postFacebookSample {
SLComposeViewController *slComposeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[slComposeViewController setInitialText:@"hogefuga"];
[slComposeViewController addURL:[NSURL URLWithString:@"http://qiita.com"]];
[self presentModalViewController:slComposeViewController animated:YES];
}
URLやコメント以外に、画像を共有することも可能ですがFacebookへ投稿する場合、画像とURLを同時に設定すると画像が優先され、URLはコメントの一部として末尾に挿入されます。(画像をFacebook上のどのアルバムにアップロードするかは、ユーザーが自分で選択する事が出来ます)
インスタンス生成時に渡す引数は、Social.framework内のSLServiceTypes.hに定義されているので、こちらを参考にすることで各種サービスを切り替えることが出来ます。
SOCIAL_EXTERN NSString *const SLServiceTypeTwitter;
SOCIAL_EXTERN NSString *const SLServiceTypeFacebook;
SOCIAL_EXTERN NSString *const SLServiceTypeSinaWeibo;
独自のUIを利用して、各種APIを利用したい場合はSLRequestを利用して、NSURLRequestを生成する事が出来ます…が、そこまでするならFacebookなんかはFacebookSDKを使った方が楽に済むかも知れません。