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

適当に新しいプロジェクトを作成。
今回は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];
実装を行う前に、まず自分のプロジェクトにShareKitを組み込む。

【組み込み手順】
①Xcodeの左ペインにあるプロジェクトの「Classes」を右クリック後、「追加」→「既存のファイル...」を選択する。

②DLしていたShareKit(解凍済み)フォルダ内にある「Classes」→「ShareKit」を選択する。

③プロジェクトにShareKitフォルダが追加されていることが確認できるはず。

④このままビルドしても使えないので、ShareKitが必要とする以下のフレームワークを追加する。
 ・MessageUI.framework
 ・Security.framework
 ・SystemConfiguration.framework


次はOAuth認証の設定を行う。

【設定手順】
①ShareKitフォルダの配下に「SHKConfig.h」を開く。

②アプリケーションの名前とサイトURLを指定する。
$君の瞳にファブリーズのブログ-SNS連携01

③FacebookのOAuth認証設定

SHKFacebookKey:FacebookAPIKey取得時のAppID
SHKFacebookSecret:FacebookAPIKey取得時のApp secret

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

④TwitterのOAuth認証設定

SHKTwitterConsumerKey:TwitterAPIKey取得時のConsumerKey
SHKTwitterSecret:TwitterAPIKey取得時のConsumerSecret
SHKTwitterCallbackUrl:TwitterAPIKey取得時のCallbackUrl

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

以上で設定作業は完了。
次回はコーディング。
アプリからTwitterやFacebookにAPIを使用するためには、OAuth認証が必要。
しかし、自前で実装するにはとーっても面倒そうなので、オープンソースのShareKitを使ってみる。

■準備しておくこと
①ShareKitをDL
まずはShareKitをDLしてこなければならないが、公式サイトのものは日本語化されていない。
そこでgitHubに日本語化されているものがあるので、そこからDLする。

②TwitterAPIKey取得
OAuth認証に必要なConsumer Key、Consumer secretを取得するために、アプリの登録を行う。

Twitter developersにて、下図のように登録

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

Application Details
Name:アプリケーションの名前
Description:アプリケーションの説明
WebSite:アプリケーションのウェブサイトURL
Callback URL:コールバックURL

Application Type
Access:Read and Write

このへん設定しておけばOK!

登録が完了するとOAuth認証に必要なものがもらえます。

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

③FacebookAPIKey取得
Twitterの時と同じようにアプリの登録を行う。

Facebook Developersにて、登録を行うとOAuth認証に必要なApp ID、App secretがもらえます。

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

ここまでで下準備は終了
次回で実装を行う