LoginSignup
1
4

More than 5 years have passed since last update.

iOSアプリでfacebookログインを実装してみた

Last updated at Posted at 2017-04-26

はじめに

これは遠い昔に書くはずだった dots.女子部 Advent Calendar 2016 の23日目の記事にします!
みんな書いてなくて本当にごめんなさい!

PHP一筋のサーバーサイドエンジニアだった私が
最近swiftデビューしてiOSアプリを作っているのでその過程でできたメモを公開します。
今回はfacebookログインを実装した話。

Cocoadodsを使えるようにする

http://qiita.com/fksk/items/9e5fdc201af4f03f2dec
↑を見て作業

Podfile

swift用FBSDKを利用する
https://developers.facebook.com/docs/swift/getting-started

use_frameworks!

target 'my_ios' do
    pod 'FacebookCore'
    pod 'FacebookLogin'
end

※CocoaPods使うときは<プロジェクト名>.xcworkspaceから開いて編集しないといけない
↑気付かずそのままxcodeprojファイルから開いて編集してたらライブラリが認識されなかった

FacebookにiOS用アプリを作成しいてログイン機能を実装

普通にFacebook for Developersのページからアプリを作成
アプリメニューの設定→ベーシックのiOS欄
バンドルIDをいれておく(xcodeで確認)

【クイックスタート】を見ながら設定していくyo

Track App Installs and App Opens

がObjective-Cでつらい・・と思ってぐぐったらswiftのコード出てきました。ありがとうございます。
http://studyswift.blogspot.jp/2016/01/facebook-sdk-and-swift-create-facebook.html
(Objective-Cも学んでおかないと今後こういうことあったときつらたん・・・:frowning2:

Thread 1:signal SIGABRTのエラー

AppDelegate.swiftのclass宣言のところでThread 1:signal SIGABRTという謎のエラー・・
ぐぐったらシュミレーターを再起動ってでてきました。
https://wayohoo.com/mac/apps/developer-tools/iphone-strange-error-when-testing-on-simulator.html
再起動。
消えません。
↑の記事の人も消えていませんでしたので、同じようにMacを再起動。
なんか直らない・・

エラーを見たらFacebookAppID設定してないよと出ていた(エラー内容を残しておくのを忘れた)
「なんでよ!さっき.plistで指定したはずだもん!:tired_face:
と思ったら.plist違いをしていた。
プロジェクト配下の.plistに追記するべきところを、Podsディレクトリ配下の.plistに追記していた
ので、プロジェクト配下の.plistに修正してあげたら無事動きました

Pods配下の.plistって何なのよ

Pods配下の.plistと書いたけど実際は↓

Pods
┣ Target Support Files
  ┗ Pots-my_ios
    ┣ *Info.plist* <- コレ
    ┣ fugafuga...
┣ hogehoge...

Pods配下のものはCocoaPodsが使うものだから、アプリで使う設定はプロジェクトは以下の.plistに書きましょう。

カスタムのログインボタンを設置するよ

Custom Login Button

に沿って設置

※ドキュメントの誤り
myLoginTitle.setTitle("My Login Button" forState: .Normal)

myLoginButton.setTitle("My Login Button" forState: .Normal)
に読み替え

おしまい

ドキュメントを色々読み込んで実装しました:dancers:
アドベントカレンダーとは別に私のiOS開発過程メモを今後もリリース予定です。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4