50
50

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2012-09-22

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を使った方が楽に済むかも知れません。

50
50
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
50
50

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?