【Swift3】【cocoapods】【googleアナリティクス】その2

前回からの続きです。

以前の記事
【cocoapods】でGoogleAnalyticsを導入 その1 | iPhoneアプリ備忘録
を参考に、
設定ファイルを取得する
こちらのページでGoogleService-Info.plist ファイルを作ってダウンロードします。

次はxcodeで作業です。
前回、cocoapodsでgoogleAnalyticsをインストールしたので「.xcworkspace」ファイルを開きます。

ダウンロードしたGoogleService-Info.plist ファイルを Xcode プロジェクトのルートにドラッグして、必要なターゲットに追加します。
【Swift3】【cocoapods】【googleアナリティクス】その2

んで、アプリ用にアナリティクスを初期化する。
まず AppDelegate にアナリティクスを追加します。

と入力すると、エラー。あれ?なんか書き方変わった?

いろいろ試しても全然通らない。(#^ω^)ビキビキ

色々検索して参考になったのがこちら。
Implement Google Analytics in ios swift – Stack Overflow

これでええんか(^_^;)。
ええとこまで推理できてたのになあ。(笑)

まあ良いかと続けてコード入力

んがっ、またつまづいた。orz
GAIなんて知らんよ〜とエラー。

なんかいろいろいろと調べてたらBridging Headerとやらを作ると良いとか。
参考
xcode – Use of unresolved identifier GGLContext and GAI – Stack Overflow

だんだんややこしくなってくる。
Bridging Headerの作り方はこちらを参考にした。

Swift: Bridging-Header 作成・設定方法(Xcode 7.2 対応) | siro:chro

ただこちらのサイトの通りに
$(SRCROOT)/$(PRODUCT)/Bridging-Header.h
と書くと何故かフルパスがおかしくなったので
$(SRCROOT)/アプリのフォルダ名/Bridging-Header.h
としたらうまく行った。

Bridging-Header.hの中身はこうした。

んで再度ビルドしようとすると、gaiに?を付けてくれ、ってのと、.VerboseのVを小文字にしてくれと言われたので変更。
これで一応ビルドできるまでになった。

AppDelegate.swiftはこんな感じ。

続いてviewController.swiftでスクリーントラッキングをしこむ。
これが呼ばれたらアナリティクスにピコーンと知らされる。

純正は

となっていたが、色々と修正が加わって

こうなった。
特に[NSObject : AnyObject]の部分はSwift3で変わったという話だったが色々と変更してもうまく行かず、
後ろに!を付けることでなんとかなったようだ。

今後もアナリティクス入れるたびにこういう処理をしないといかんと思うとめんどくさいねー。orz

【Swift3】【cocoapods】【googleアナリティクス】その2」への2件のフィードバック

  1. 長尾ユリコ

    どの記事読んでもダメでハマりまくってたのですが
    このブログの通りにやって無事GA導入できました。
    ありがとうございます!

    純正はこうだけど、実際やったらこうだった
    がめちゃくちゃ助かりました。

    あと
    import Google
    も!

    返信
    1. BlackField 投稿作成者

      長尾ユリコさん
      コメントありがとうございます。
      しばらく触ってなくて気づきませんでした。(^_^;)

      お役に立てたなら何よりです。
      楽しんでいきましょう。\(^o^)/

      返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">