Titanium で Crashlytics を導入する


注意事項

  • Titanium が自動生成する Xcode プロジェクトに手を入れます
    • Titanium で Clean すると、やり直しです
  • Titanium SDK がバージョンアップすると、手を入れる箇所が変わる可能性があります
    • Titanium SDK 4.0.0.GA で試しています
  • SDK からコピーされていくる TiApp.m に手を入れます
    • ちゃんと確認して作業しないとビルドできなくなります
  • うまくいかなかったら Titanium で Clean するか、build フォルダを削除しましょう
    • 後腐れないです
  • モジュールが入っているとうまくビルドできないかもしれません
    • ぼくはできませんでした → 再度試したらできました(なんだったんだろ?)
  • そもそもモジュール化すれば良いんじゃ?
    • モジュールプロジェクトに入れようとしたら、Fabric さんに「アプリじゃないよね?」って怒られました
  • ころんでもなかない

Titanium プロジェクトを作ります

$ ti create --id be.k0suke.crashlytics --name Crashlytics --platforms ios --type app --url http:// --workspace-dir .

一旦ビルドしましょう

$ cd Crashlytics
$ ti build -p ios -T device -C XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

/path/to/Crashlytics/build/iphone/Crashlytics.xcodeproj として Xcode のプロジェクトが生成されます。

Fabric を起動します

Select your Xcode Project には Crashlytics.xcodeproj が(たぶん)存在しないので、Browse... から /path/to/Crashlytics/build/iphone/Crashlytics.xcodeproj を選択します。

選択すると Xcode が起動し、Titanium が生成したプロジェクトが開かれます。

Crashlytics をインストールします

あらかじめ、2. の Paste in the following command にある Copy をクリックし、スクリプトをコピーしておきましょう。

Fabric に従い、Build Phases を選択し、「+」から New Run Script Phase を選択してください。


Run Script を開き、Shell のところへ先ほどコピーしたスクリプトをペーストします。

Cmd+B でビルドします。ビルドが終わると、Fabric が以下のような画面に遷移します。

Xcode の Frameworks を開いておきましょう。

Fabric のトランクアイコンを Xcode の Frameworks までドラッグ&ドロップし、Finish をクリックします。

Framewroks の中に、Fabric.framework と Crashlytics.framework が追加されているのを確認して下さい。

Fabric が以下の画面に遷移します。

Xcode で Classes → API → TiApp.m を開きます。

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

を、この辺りへコピーします。

#ifdef KROLL_COVERAGE
# import "KrollCoverage.h"
#endif

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

TiApp* sharedApp;

int TiDebugPort = 2525;

[Fabric with:@[CrashlyticsKit]];

を、この辺りへコピーします。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions_
{
    [Fabric with:@[CrashlyticsKit]];

    started = [NSDate timeIntervalSinceReferenceDate];
    [TiExceptionHandler defaultExceptionHandler];

Cmd+R で実機にインストールされ、アプリが起動します。

お疲れ様でした。