swiftでfacebook認証を実装する手順まとめ

はじめに

今回やりたかったのは以下

  • Facebookログインボタンの設置(自分でデザインしたもの)
  • Facebookでのユーザid、メールアドレスの取得

手順

※プログラムのサンプルはこちら

ざっくり上記のようなながれになるかと思われます

Facebookアプリの登録

こちらFacebook Developersサイトから行います。

f:id:yoppy0066:20150516122354p:plain
ページ上部の「My Apps」の「Add a New App」をクリックします


f:id:yoppy0066:20150516122613p:plain
IOSをクリックします


f:id:yoppy0066:20150516122817p:plain
アプリ名を入力して、「Create New Facebook App ID」をクリックします


f:id:yoppy0066:20150516123233p:plain
カテゴリを適当に選択して、「Create App ID」をクリックします


f:id:yoppy0066:20150516134805p:plain
「Bundle Identifier」を入力して「次へ」をクリックします

※Bundle Identifierはxcodeのナビゲーションの1番上を選択して、「General」を選択で確認できます
f:id:yoppy0066:20150516135139p:plain


ここまででFacebookでの登録作業は完了になります

info.plistの編集

f:id:yoppy0066:20150516123748p:plain
ページ上部の「My Apps」に作成したアプリ名が追加されているのでこれをクリックします。
※ここでは「テストアプリ」

次のページでApp IDが表示されるのでメモします。
xcodeでinfo.plistを開いて以下の項目を追加します。
※info.plistは「Supporting Files」の下にあるかと思います
また、ここではApp IDが「0123456789」、アプリ名を「テストアプリ」として話を進めます

  • FacebookAppID

01234567890
↑App ID

  • FacebookDisplayName

テストアプリ
↑アプリ名

  • URL types

fb01234567890
↑fb + AppID

いちおう完成版は以下のようになるので頑張って設定します
f:id:yoppy0066:20150516140036p:plain

これでinfo.plistの編集は完了です

Facebook SDKの入手

Facebook SDK for iOS
こちらのページの「SDKをダウンロード」をクリックします。
pkgファイルがダウンロードされるので、これをクリックしてインストールを進めます。
次へとかをおしてゆけば勝手に完了するかと思います
インストールが完了するとホームディレクトリ/Documentsフォルダの直下に「FacebookSDK」というフォルダが作られるはずなのでこれができてたらOKです。

インストールした、SDKをプロジェクトに組み込みます。

f:id:yoppy0066:20150516141259p:plain
xcodeの「Linked Frameworks and Libraries」から追加します。+ボタンを押して、「Add Other...」をクリックします


f:id:yoppy0066:20150516141411p:plain

で、さきほどインストールした~/Documents/FacebookSDKを開いて、その中の以下を選択して追加します。

  • FBSDKCoreKit.framework
  • FBSDKLoginKit.framework
  • FBSDKShareKit.framework

これでプロジェクトへの組み込み作業が完了しました。
Facebook SDKObjective-Cで書かれているのでSwiftから使用できるように、「プロジェクト名-Bridging-Header.h」に追記する必要があります。

「プロジェクト名-Bridging-Header.h」が最初はないと思いますが、適当にObjective-cのファイルを作成すると勝手に作られます。(作られたobjective-cのファイルは不要なので削除してOKです)
で、「プロジェクト名-Bridging-Header.h」に以下を追記します

#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>

ここまでで、準備作業はひととおり完了かなと思います

長くなったので、処理の実装は以下に書きました
swiftでのfacebook認証を実装する手順2 - とりあえずphpとか


以上です