2013/02/14更新

[XCODE] iOS組み込みのFacebook投稿機能を使う方法

このエントリーをはてなブックマークに追加      

こんにちは、@yoheiMuneです。
本日はiOS6から組み込まれたFacebook連携機能について、Objective-Cで投稿を行う方法をブログに書きたいと思います。

画像


iOS組み込みのFacebook投稿機能を使う

Facebook投稿機能を使うためにはいくつかのステップが必要ですが、基本的には簡単に使えます。
使うと以下のようなUIでFacebookのタイムラインに投稿することができます。

画像

具体的な実装方法は以下のようになります。

Socialフレームワークをプロジェクトに追加する

まずはFacebook機能を使うために、Social.frameworkをプロジェクトに追加します。
画像
左袖のプロジェクト(上記ではiPhoneStudyプロジェクト)にフォーカスして、TARGETS(上記ではiPhoneStudy)を選択して、 Summaryタブの真ん中らへんにフレームワーク追加を行うことができる箇所があります。
そこで「+」ボタンを押して、Social.frameworkを追加します。


ライブラリのインポート

続いて、Facebook投稿機能を利用するファイルで、以下のインポート文を記述します。
#import <Social/Social.h>
これで、iOSに組み込まれているSNS機能を利用することができるようになります。


Facebookへ投稿する機能を実装する

やっと実装部分です。以下のように実装することでFacebookへの投稿機能を利用することができます。
// 組み込みのFacebookが利用可能な端末かを検証する
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
  
  // Facebook投稿機能のインスタンスを作成する
  SLComposeViewController *slComposeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
  
  
  // 投稿するコンテンツを設定する
  // 表示する文字列
  [slComposeViewController setInitialText:@"いにしゃるテキスト"];
  // URL
  [slComposeViewController addURL:[NSURL URLWithString:@"http://www.yoheim.net/"]];
  // 画像
  [slComposeViewController addImage:[UIImage imageNamed:@"sample.png"]];
  
  // 処理終了後に呼び出されるコールバックを指定する
  [slComposeViewController setCompletionHandler:^(SLComposeViewControllerResult result) {
     
    switch (result) {
      case SLComposeViewControllerResultDone:
        NSLog(@"Done!!");
        break;
      case SLComposeViewControllerResultCancelled:
        NSLog(@"Cancel!!");
    }
  }];  
  
  // 表示する
  [self presentViewController:slComposeViewController animated:YES completion:nil];    
}
という感じで、Facebook投稿機能を使うことができます。

なお、iOSに組み込みのTwitterも同じような感じに利用することができます。
SLServiceTypeFacebook -> SLServiceTypeTwitterに変えることで、Twitterを利用できます。便利ー。



その他に

今回は投稿機能を利用しましたが、SLRequestクラスを使うと他のAPI(リスト取得とか?)を使うことができるようです。
以下のページで紹介されていたので、リンクを掲載しておきたいと思います。
http://d.hatena.ne.jp/h_mori/20121011/1349910121



最後に

SNSが組み込みになると、認証周りとかの面倒な処理をOS側がやってくれるので本当に便利。
今後も使っていきたいと思います。

最後までご覧頂きましてありがとうございました。





こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。