読者です 読者をやめる 読者になる 読者になる

しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

【iOS】Firebaseのクラッシュレポートを使ってみる

Firebaseのクラッシュレポート機能を試してみました。

最初に以下を参考にプロジェクトの作成とプロジェクトへのGoogleService-Info.plistの追加を行います。

【iPhone】FirebaseのAnalytics機能を導入してみる - しめ鯖日記

次にCocoaPodsでFirebase/Crashを追加します。

use_frameworks!

pod 'Firebase'
pod 'Firebase/Crash'

次にServiceAccountを作成します。
プロジェクト右上の歯車を押下して権限ページに移動します。

f:id:llcc:20160520180102p:plain

右側のメニューからサービスアカウントを選択します。

f:id:llcc:20160520180145p:plain

その画面で新規にサービスアカウントを作成します。
名前はSymbol Upload service accountにして秘密鍵は新しくJSON形式で作るようにします。

f:id:llcc:20160520180226p:plain

次はプロジェクトのReporting APIを有効にします。
以下URLの有効にするボタンを押下して下さい。

Google API Console

最後にXcodeの方で設定を行います。
Build PhasesでRun scriptの追加を行います。

f:id:llcc:20160520180618p:plain

スクリプトの中身は以下のようにします。
JSON_FILEには先程ダウンロードした秘密鍵のパスを、GOOGLE_APP_IDには自分のアプリのIDをセットして下さい。

# Replace this path with the path to the key you just downloaded
JSON_FILE=Path/To/ServiceAccount.json

# Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file
GOOGLE_APP_ID=1:my:app:id

defaults write com.google.SymbolUpload version -integer 1   # creates file if it does not exist
JSON=$(cat "${JSON_FILE}")
/usr/bin/plutil -replace "app_${GOOGLE_APP_ID//:/_}" -json "${JSON}" "$HOME/Library/Preferences/com.google.SymbolUpload.plist"
"${PODS_ROOT}"/FirebaseCrash/upload-sym

その後アプリをクラッシュさせてから再起動します。

assert(false)

これで少し待てばアプリのクラッシュがFirebaseで見れるようになります。

参考URL

Report Crashes  |  Firebase