いよいよコーディングして実装。

適当に新しいプロジェクトを作成。
今回はTab Bar Applicationで作ってみた。

$君の瞳にファブリーズのブログ-SNS連携05

まずは、FirstView.xibを開いてペタペタとInterfaceBuilderでボタンやら貼付け。
ツールバーとボタン3つ追加しています。

$君の瞳にファブリーズのブログ-SNS連携04


次はボタンが押されたときのアクションを実装する。

・FirstViewController.hの方はこんなカンジ

$君の瞳にファブリーズのブログ-SNS連携06

・FirstViewController.mのほうはこんなの

最初のほうにShareKitのインポートを忘れないように!
#import "SHK.h"

$君の瞳にファブリーズのブログ-SNS連携07

次はInterfaceBuilderで作成したボタンとアクションのOutlet接続
・executeShareメソッドはツールバ上のボタン
・executeShareFromTwitterButtonメソッドは「Twitterに投稿」ボタン
・executeShareFromFacebookButtonメソッドは「Facebookに投稿」ボタン

これで実装完了!
ドキドキしながら押してみると・・・

アクションシートが出てきて、Twitter選択すると

$君の瞳にファブリーズのブログ-SNS連携08

認証画面が!すげー目

$君の瞳にファブリーズのブログ-SNS連携09

Facebookもバッチリやん

$君の瞳にファブリーズのブログ-SNS連携10

Twitter認証すると投稿画面が出てくる

$君の瞳にファブリーズのブログ-SNS連携11

実装したのはたった3行

NSString *shareText = [NSString stringWithFormat:@"連携テスト"];
SHKItem *item = [SHKItem text: shareText];
SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item]; [actionSheet showInView:self.view];

変数shareTextに文字列を入れると、そいつがデフォルト表示されるテキストなわけね。
これだけでめんどいOAuth認証してくれるのは非常にありがたい。
ただ、画像が投稿できるボタンが見当たらないがちょっと弄らなければいけないのかな?

ちなみに、上記の実装した3行はアクションシートが必ず表示されてしまう。
ボタンを押したときに、直接各サービスを呼び出したい場合はこうすればいい。

・Twitterを呼ぶ場合
#import "SHKTwitter.h"

NSString *shareText = [NSString stringWithFormat:@"Twitter連携テスト"];
SHKItem *item = [SHKItem text: shareText];
[SHKTwitter performSelector:@selector(shareItem:) withObject:item];