iPhone用のチタンモジュールを開発するのはこれが初めてです。IPhone 用の Google アナリティクス モジュールの構築に取り組んでいます。
XCode を使用して Google アナリティクスを実装する場合は、didFinishLaunchingWithOptionsデリゲートを使用できます。以下に例を示します。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
// Override point for customization after application launch.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXXXXXX-X"];
return YES;
}
私が試したところ、完璧に機能しました。
Titanium Module に関しては、didFinishLaunchingWithOptions のようなデリゲートはないと思います。
以下のようにスタートアップ関数に入れました:
-(void)startup
{
// this method is called when the module is first loaded
// you *must* call the superclass
[super startup];
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-38803610-1"];
NSLog(@"[INFO] %@ loaded",self);
}
しかし、以下のようにアプリケーションを実行すると:
var mod = require("com.mymodule")
Ti.API.log("The module: " + mod)
次のエラーが表示されます。
: Dispatcher initialization failed: Error Domain=com.google.analytics.error Code=1 "Dispatcher must be initialized on main thread." UserInfo=0xb3d1270 {NSLocalizedDescription=Dispatcher must be initialized on main thread.}
どんな助けでも感謝します。前もって感謝します。