2014.06.16
STAFF BLOG
スタッフブログ
TECHNICAL
テクログ
Mac,iPhone,Objective-C 全て利用歴6ヶ月の新米プログラマーが送る
自分が使って役立ったmethod&Tips集
参考場所はありますが単なるコピペを紹介してるわけではありません。
ちゃんと自前で作ってます。(謎のアピール)
シリーズ第16弾です。
Google Analytics SDK for iOS v3 の実装とエラー対処についてです
iOS版の実装は搦め手ですがわかりやすいのでコチラをどうぞ
■はやとも工業所
【iOS】Google Analytics iOS SDK v3をものすごく簡単に設置する方法
さて、本来ならこれで終わりです。
しかしどういうわけか、以下のようなエラーが出てしまいます。
Undefined symbols for architecture i386: “_sqlite3_bind_blob”, referenced from: -[TAGDataLayerPersistentStoreImpl writeEntriesToDatabase:expireTime:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) “_sqlite3_bind_int”, referenced from: -[TAGDataLayerPersistentStoreImpl deleteEntries:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) “_sqlite3_bind_int64”, referenced from: …
ちょいちょいっと検索するとやっぱり、stackoverflowが出てきます。
Google Analytics SDK 3.0 _sqlite3 linker errors in iOS
それによると、
GAI.h
GAIDictionaryBuilder.h
GAIFields.h
GAILogger.h
GAITrackedViewController.h
GAITracker.h
libGoogleAnalyticsServices.a
と一緒に libsqlite3.0 を Targets(General)->Linked Frameworks and Librariesへ追加すればOK
マクロ方式であっても無くてもエラー出るのはどうしてか不明です。
サンプルはlibsqlite3.0使ってないけどエラーは出ないのに・・・。
これで終わるとほらコピペじゃんってなるので、ちょっと改造
サンプルではクラスが名固定でアクティブスクリーンに表示されてしまうので、
画面名を任意に変える方法について。
Xcodeのマクロ情報が少なくてどこ調べればいいかわからないのですが、見よう見まねで修正してます
一番下から2行目をコピーして、画面名を引数で貰うようにします。
クラス名が表示したい場合は今まで通りの書き方でクラス名が表示可能です。
○○-Prefix.pch
#define GA_TRACK_CLASS GA_TRACK_PAGE(NSStringFromClass([self class]));
#define GA_TRACK_CLASS_PAGE(page, ...) GA_TRACK_PAGE(page); // ページごとの画面名
#define GA_TRACK_METHOD GA_TRACK_EVENT(NSStringFromClass([self class]), NSStringFromSelector(_cmd), @"", nil);
抜粋してます
ViewController.m
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)viewDidAppear:(BOOL)animated
{
// GoogleAnalyticsServices
GA_TRACK_CLASS_PAGE(@"最初の画面"); // 画面名を指定
}
どなたかXcodeのマクロの書き方がわかりやすく載ってるサイト教えてくださいw
そのほかのObjective-C関連の記事をお探しならコチラをどうぞ
今週か来週あたりに新アプリリリースします。ゲームと消費税計算機です。
よろしくお願いします!
弊社から出している拙作スケジュールのアプリです。
スケジュールというかちょっとした予定を入力して、社長、同僚、家族がどこ行った??っていうときに第三者が確認するためのアプリです
是非ダウンロードして感想をお聞かせ下さい。
『Team Scheduler』 概要
▼アプリ価格: 無料
▼対応OS: iOS(iPhone/iPod Touch)、Android
▼カテゴリ: 仕事効率化(App Store)、ビジネス(Google Play)
▼対応言語: 日本語
▼推奨環境:
iOS版: iPhone4以降、iOS6. 0以降
Android版: Android OS 2. 3以降
▼ダウンロード: