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

使うと以下のようなUIでFacebookのタイムラインに投稿することができます。

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

左袖のプロジェクト(上記ではiPhoneStudyプロジェクト)にフォーカスして、TARGETS(上記ではiPhoneStudy)を選択して、 Summaryタブの真ん中らへんにフレームワーク追加を行うことができる箇所があります。
そこで「+」ボタンを押して、Social.frameworkを追加します。
なお、iOSに組み込みのTwitterも同じような感じに利用することができます。
SLServiceTypeFacebook -> SLServiceTypeTwitterに変えることで、Twitterを利用できます。便利ー。
以下のページで紹介されていたので、リンクを掲載しておきたいと思います。
http://d.hatena.ne.jp/h_mori/20121011/1349910121
今後も使っていきたいと思います。
最後までご覧頂きましてありがとうございました。
本日は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側がやってくれるので本当に便利。今後も使っていきたいと思います。
最後までご覧頂きましてありがとうございました。






