iOS 7 標準の SNS に投稿するダイアログを表示する
次のような SNS へ投稿するダイアログを表示する。
この機能を使うには Social.framework が必要。次の手順でプロジェクトに追加する。
- 画面左の Project Navigator からプロジェクトを選択
- 画面中央のタブから Build Phases を選択
- Link Binary With Libraries を開き、 + ボタンをクリック
- フレームワークの一覧が表示されるので Social.framework を選び、 Add を選択(social と入力して絞り込む)
準備が整ったら実際のコードを見てみよう。
まず Social.framework を使うのに必要なヘッダファイルを読み込む。
#import <Social/Social.h>
そしてダイアログを表示したい場所で次のコードを記述する。実に簡単。
- (void) showTweetView { // Twitter への投稿ダイアログを用意する // サービスは SLServiceTypeFacebook なども利用可能 SLComposeViewController *postViewController = [SLComposeViewController composeViewControllerForServiceType: SLServiceTypeTwitter]; // 投稿時のコールバックを指定する [postViewController setCompletionHandler: ^(SLComposeViewControllerResult result) { switch (result) { case SLComposeViewControllerResultDone: NSLog(@"ツイートを送信しました"); break; case SLComposeViewControllerResultCancelled: NSLog(@"キャンセルされました."); break; } }]; // はじめに入力されている文字列を指定する // このメソッドを呼ばない場合は空となる [postViewController setInitialText: @"Hello, chun chun world!"]; // ダイアログを開く [self presentViewController: postViewController animated: YES completion: nil]; }