[iOS] Fabric 入門 #1 アカウント登録 & Twitter Kit を使ってログインする

2015.01.21

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Fabric

昨年10月、Twitter 社が運営するモバイルアプリ開発向けのサービス (Twitter や Crashlytics など) が Fabric というモジュール形式のプラットフォームに統合されました。

Fabricは、3つのモジュラーキットから構成され、安定性を高める、利用者を増やす、収益を得る、 ユーザーの本人確認という、スマートフォンのアプリ開発者が体験するよくある課題に対応するプラットフォームです。Crashlytics(クラッシュリティクス)、MoPub(モーパブ)、Twitterなど、より安定し、世界最大のモバイル広告システムを通して収益をあげ、Twitterのログインシステムとリアルタイムに集まってくる様々なコンテンツのストリームを利用してアプリの配布や本人確認の問題に対応します。また、Fabricは開発者が簡単に利用できることを念頭に作られているので、インストールもシンプルで、どの機能もいくつかのコードを加えるだけで利用できるため、SDKのために余計な手間や時間を書けることなく、開発者がより快適なアプリを提供することに専念できます。

Fabricのご案内 | Twitter Blogs

Fabric は大きく3つのモジュールで構成されており、これらの中から必要なものだけ利用することができます。

Twitter
Twitter へのサインイン, Twitter API の呼び出し, View の提供, SMS 認証
Crashlytics
クラッシュ統計, リアルタイム分析, テスト配信
MoPub
広告配信による収益化

ということで、Fabric の各モジュールの使いかたについて、解説していきたいと思います。初回はアカウント登録と Twitter Kit の簡単な使いかたを解説します。

Fabric アカウントの登録

Fabric アカウントの登録は次のページから行うことができます。

fabric01

Fabric は承認制です。新規にアカウントを登録すると Fabric の登録リストにリスティングされ、承認されれば利用できるようになります(メールが届きます)。

fabric02

Crashlytics のアカウントを既に作成済みであれば、アップグレードするだけですぐに利用を開始できます。

fabric03

新規登録 (またはアップグレード) が完了したら、Fabric のアプリをダウンロードしてインストールします。対象となる IDE を選択します。

fabric04

Xcode を選択した場合は次の画面になります。「Download」をクリックすると Fabric アプリがダウンロードできるので、アプリケーションフォルダにコピーします。

fabric05

以上で完了です。

Fabric SDK と Twitter Kit のインポート

次に、Xcode プロジェクトに Fabric SDK と Twitter Kit をインストールします。まず先ほどインストールした Fabric アプリを起動します。メニューバーにアイコンが現れるので、クリックするとログインが求められます。

fabric06

ログインすると Xcode プロジェクトの一覧が表示されるので、連係させたい Xcode プロジェクトを選択します。

fabric07

次に、どのモジュールを使うか問われます。今回は Twitter を利用したいので Twitter を選択します。

fabric08

次に、Xcode プロジェクトの Run Script にスクリプトを追加する旨のメッセージが表示されます。

fabric09

こんな感じです。ビルドを1回実行すると次に進めます。

fabric10

次に、Twitter Kit のインポートを行います。アイコンが表示されているので、そのままドラッグしてインポートします。

fabric11

こんな感じです。Framework グループを作成して、その中に入れておくと分かりやすいと思います。

fabric12

以上で Fabric SDK と Twitter Kit のインポートは完了です。

Twitter でログインしてみる

インポートが終わると、次に Twitter のどの機能を使うか問われます。とりあえずサインインしてみたいので「Sign in with Twitter」を選択します。

fabric13

サンプルコードが表示されるので、これらをソースコードに追加します。ちなみにハイライトしてある行をクリックするとクリップボードにコピーされます。便利!

fabric14

AppDelegate では、Fabric の with: メソッドで利用する SDK をセットします。

AppDelegate.m

#import "AppDelegate.h"
#import <Fabric/Fabric.h>
#import <TwitterKit/TwitterKit.h>

@interface AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [Fabric with:@[TwitterKit]];
    return YES;
}

end

あとは適当な View Controller にログインボタンを追加するだけです。

fabric15

ViewController.m

#import "ViewController.h"
#import <TwitterKit/TwitterKit.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    TWTRLogInButton *logInButton = [TWTRLogInButton buttonWithLogInCompletion:^(TWTRSession *session, NSError *error) {
        if (error) {
            NSLog(@"Error : %@", error);
        } else {
            NSLog(@"UserName : %@", session.userName);
        }
    }];
    logInButton.center = self.view.center;
    [self.view addSubview:logInButton];
}

@end

最後に次の画面が表示されます。アプリが実行されるのを待っている状態です。

fabric16

ということでアプリを実行してみましょう。アプリ実行後、インジケータが消えて「Done」ボタンが表示されれば連係成功です。

fabric17

アプリを見てみると、Twitter のサインインボタンが表示されるはずです。

fabric18

ボタンを押すと、Twitter アカウントへのアクセスを求めるアラートが表示されます。

fabric19

OS でログインしていない場合は、Web View がモーダルで表示されます。ここまで用意してくれているのはかなり有難いですね。

fabric20

ログインが完了すると、buttonWithLogInCompletion: で渡したブロックに TWTRSession インスタンスが帰ってきます。

fabric21

この TWTRSession インスタンスのアクセストークンを利用して、各種 API をコールすることができます。

まとめ

Fabric のアカウント登録から始まり、Twitter ログインまで試してみました。Twitter ログイン自体はいままでもそこまで難しいものではありませんでしたが、Twitter Kit を利用すると、ログインボタンなどもすぐに実装できますし、シンプルなコードでまとめることができます。

今後も引き続き Fabric の機能を紹介していきたいと思いますので、ぜひご期待ください!

参考