51
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Organization

iOS6で追加されたSocial.frameworkの使い方入門

Social.frameworkはiOS6で追加されたFacebookやWeiboとの連携機能を開発者が利用するためのフレームワークです。
(Twitterとの連携機能もTwitter.frameworkだけでなく、Social.frameworkからも利用することが可能です。)

基本的な使い方は、iOS5で追加されたTwitter.frameworkと一緒ですがインスタンスの生成方法などが一部異なっています。以下は、フレームワークから提供されているUIを利用して、URLとコメントをFacebookに投稿する場合の例です。

Sample.m

- (void)postFacebookSample {
    SLComposeViewController *slComposeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
    [slComposeViewController setInitialText:@"hogefuga"];
    [slComposeViewController addURL:[NSURL URLWithString:@"http://qiita.com"]];
    [self presentModalViewController:slComposeViewController animated:YES];
}

上記のコードを実行すると、こんな感じのUIが表示されます。
FacebookUI画像

URLやコメント以外に、画像を共有することも可能ですがFacebookへ投稿する場合、画像とURLを同時に設定すると画像が優先され、URLはコメントの一部として末尾に挿入されます。(画像をFacebook上のどのアルバムにアップロードするかは、ユーザーが自分で選択する事が出来ます)

インスタンス生成時に渡す引数は、Social.framework内のSLServiceTypes.hに定義されているので、こちらを参考にすることで各種サービスを切り替えることが出来ます。

Type

SOCIAL_EXTERN NSString *const SLServiceTypeTwitter;
SOCIAL_EXTERN NSString *const SLServiceTypeFacebook;
SOCIAL_EXTERN NSString *const SLServiceTypeSinaWeibo;

独自のUIを利用して、各種APIを利用したい場合はSLRequestを利用して、NSURLRequestを生成する事が出来ます…が、そこまでするならFacebookなんかはFacebookSDKを使った方が楽に済むかも知れません。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
51
Help us understand the problem. What are the problem?