CocoaPods で Twitter, Facebook, GoogleAnalytics の SDK を導入する

はじめに

最近、CocoaPods に対応し始めた大手企業のライブラリ達を調理していきます. あと個人的に利用しないものもあるのですべてを紹介するわけではなく、例として見てもらえると嬉しいです. 旧形式の Framework が残っている場合はゴリッと消しましょう.

Podfile

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

target 'hoge' do
  # Facebook
  pod 'FBSDKCoreKit'
  pod 'FBSDKLoginKit'
  pod 'FBSDKShareKit'
  # Twitter
  pod 'Fabric'
  pod 'TwitterKit'
  pod 'TwitterCore'
  pod 'Crashlytics'
  # GoogleAnalytics
  pod 'GoogleAnalytics'
end

だいたいこれで終わりなんだがまだちょっと残っている.

ちょっとした解説

初期設定というやつかな. 他の実装の仕方は割愛.

Twitter

上記の他に

  • pod Digits
  • pod mopub-ios-sdk

とかあるが割愛.

Fabric の API Key & Secret の設定

"${PODS_ROOT}/Fabric/Fabric.framework/run <Your_API_Key> <Your_Build_Secret>"

Build PhaseRun Script に記載しないといけない.

TwitterAPI Key & Secret の設定

#import <Crashlytics/Crashlytics.h>
#import <Fabric/Fabric.h>
#import <TwitterKit/TwitterKit.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  [TwitterKit startWithConsumerKey:TWITTER_API_KEY consumerSecret:TWITTER_API_SECRET];
  [Fabric with:@[CrashlyticsKit, TwitterKit]];
}

Info.plist

Fabric とかいう Key が知らないうちに設定されていたりするかもしれないし、設定しないといけないかもしれない(未確認).

Facebook

Info.plist

  • URL types -> Item 0 -> URL SchemesfbXXXXXXXXXX
  • FacebookAppID に XXXXXXXXXX

を確か設定する必要がある. コード上で設定する方法は知らない.

設定

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

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  [FBSDKSettings setAppID:FACEBOOK_APP_ID];
  [FBSDKSettings setDisplayName:FACEBOOK_DISPLAYNAME];
}

GoogleAnalytics

設定

#import <GoogleAnalytics/GAI.h>
#import <GoogleAnalytics/GAITracker.h>
#import <GoogleAnalytics/GAITrackedViewController.h>
#import <GoogleAnalytics/GAIDictionaryBuilder.h>
#import <GoogleAnalytics/GAIFields.h>
#import <GoogleAnalytics/GAILogger.h>

// 面倒なので Twitter っぽく #define しちゃう
#define GoogleAnalyticsKit [GAI sharedInstance]

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
#if DEBUG
  [GoogleAnalyticsKit setDryRun:YES];
  [[GoogleAnalyticsKit logger] setLogLevel:kGAILogLevelVerbose];
#endif
  [GoogleAnalyticsKit trackerWithTrackingId:GOOGLE_ANALYTICS_ID];
}

注意

  • Facebook-iOS-SDK から FBSDKCoreKit, FBSDKLoginKit, FBSDKShareKit に変更されてます.

  • GoogleAnalytics-iOS-SDK から GoogleAnalytics に変更されてます.

  • Twitter の Fabric は謎のユーザーの Github へ飛ぶリンクがあるが気にしないでおこう. CocoaPods/Specs を見る限り問題なさそう.

LINK

Qiita に書いた記事