LoginSignup
17
16

More than 5 years have passed since last update.

【続】SwiftでFacebook連携しよう!(<CocoaPods>でuse_frameworks!を有効にした場合)

Last updated at Posted at 2016-04-01

概要

  • この記事は『SwiftでFacebook連携しよう!』の続編です!
  • 『SwiftでFacebook連携しよう!』では、CocoaPodsを使用してSDKを導入する部分でPodfileにuse_framewoeks!を使用せず、ブリッジファイルを作成して読み込む形式を取っていましたが、ぜひ「use_framewoeks!を有効化した場合の方法が知りたい」とのご要望をいただきました。調べてみましたので報告します。

Podfileの「use_frameworks!」を有効にした場合の導入方法

操作手順

(1) mBaaSのiOS SDKを一部編集して使用します。mBaaSのiOS SDKはGitHub上にありますで、右上の「Fork」ボタンをクリックして自分のディレクトリにコピーします
171.png

(2) 自分のディレクトリ内にコピーしたSDKの中に、Pod installするときに読み込むファイル「NCMB.podspec」ファイルを開きます、
170.png

(3) 右上のペンマークをクリックして編集画面を開きます、最後の「end」の1行前に下記を追記してcommitします

AppDelegate.NCMB.podspec
s.dependency 'FBSDKLoginKit'

169.png

  • SDKの操作は以上です

(4) 既存のプロジェクトを使用する場合のみ:.xcodeprojディレクトリ内にある下記のファイルあるいはフォルダを削除します

  • ****.xcworkspace
  • Podfile.lock
  • Podsフォルダ

(5) 「Podfile」を下記内容に修正して、ふたたびターミナルでpod installを行います

Podfile
# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!
target '****プロジェクト名****' do
    pod 'NCMB', :git => 'https://github.com/****自分のGitHubディレクトリ名****/ncmb_ios.git'
end

※「https://github.com/****自分のGitHubディレクトリ名****/ncmb_ios.git」は2.の画像にある「HTTPS▼」の所からコピーしてください

(6) 新たに作成された.xcworkspaceファイルをダブルクリックしてXcodeを立ち上げます

(7) 既存のプロジェクトを使用する場合のみ:****-Bridging-Header.hファイルを削除します

(8) (7)の代わりに、AppDelegate.swiftViewController.Swiftに次を追記します

AppDelegate.swift&&ViewController.Swift
import NCMB
import FBSDKLoginKit

(9) 動作確認をします

考察と解説

  • 参考Qiita記事(iOS9でFacebook Single Sign On)を見て、別のやり方があることを知りました。同様にできるのかな?とやってみるも上手くいきませんでした。。浅はかでした。原因はSDK同士の参照関係の問題が絡んでいるようでした。
  • 調べるとpodspecファイルに'FBSDKLoginKit'を追記したmBaaSのSDKをインポートすることで、mBaaSのNCMB SDKだけでなくFBSDKCoreKitとFBSDKLoginKitもプロジェクトに組み込まれるようでした。逆にこれら3つのSDKの参照関係の問題でこの方法でないとエラーが出てしまうようでした。
  • SDKを触るわのは少し抵抗がありましたが、$ pod installするときに読み込むpodspecファイルの編集だけなの、ブリッジして使う方法よりも楽?でしょうかね。
  • 一応ニフティクラウドmobile backendのドキュメントには前者の方法で書かれていますが一応こちらでもできましたのでご紹介させていただきました!
17
16
2

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
17
16