27
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

既存iOSアプリをCrashlyticsに対応させる

Posted at

注意点

公式推奨のやり方とは少し異なります
変更点

  • フレームワークはPodで導入しています
  • Info.plistに手動で追記しています

準備

Fabricに登録しておく必要があります

また、Fabricプラグインを導入していなければ
https://fabric.io/downloads
よりDLして、起動、ログインをしておきます

Podでフレームワークを導入

以下を追記

Podfile
pod 'Fabric/Crashlytics'

インストール

$ pod install

AppDelegateに初期化処理追加

AppDelegate.m
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [Fabric with:@[CrashlyticsKit]];
    return YES;
}
@end

Info.plistの編集

ソースコードで開き、以下を追加します
APIKeyは置き換えで

<key>Fabric</key>
<dict>
	<key>APIKey</key>
	<string><-YOUR-API-KEY-></string>
	<key>Kits</key>
	<array>
		<dict>
			<key>KitInfo</key>
			<dict/>
			<key>KitName</key>
			<string>Crashlytics</string>
		</dict>
	</array>
</dict>

RunScriptの追加

Targetの設定 -> Build Phrases -> +ボタン -> New RunScript Phrase
で、以下を追加します
APIKeyとBuildSecretは適切なものへ変更します

./Pods/Fabric/Fabric.framework/run <YOUR-API-KEY> <YOUR-BUILD-SECRET>

ここまでで、ビルドが通ればOK
Fabricのページを見ると、勝手にアプリが追加されているはずです

Answersの有効化 (Optional)

AnswersはFabricのDashboardの一番上のタブにある、リアルタイムの起動やDAUなんかを見れるパネルです
初回にページを開くと、有効にしますか?的なことを聞かれるはず
以下のように有効化しました

  • Yes, I want的なボタンをクリック -> 待ち状態に
  • 実機にインストールし、一旦Macから接続を外してアプリを再起動

JenkinsやCI上での設定 (Optional)

設定しておくと、自動でBetaで配布することができるようになります

ビルド後に以下のスクリプトを追加

./Pods/Fabric/Crashlytics.framework/submit <YOUR-API-KEY> <YOUR-BUILD-SECRET> -ipaPath <YOUR-IPA-PATH> -groupAliases <YOUR-DISTRIBUTE-GROUP>

パスなどは適時変更で

27
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?