2014年7月19日土曜日

QuincyKitでiOSアプリのクラッシュレポートを取得したときに困ったメモ

iOSアプリでクラッシュレポートを取得するためにQuincyKitというライブラリを使ってみた。
https://github.com/TheRealKerni/QuincyKit

わかりにくかったところをメモしておく。

クラッシュレポートが送信されるタイミング

クラッシュレポートはクラッシュした次の起動のタイミングで送信される仕様になっている。クラッシュした時ではネットワークが使えないかもしれないので、ローカルにレポートを保存しておき、次回起動時にレポートを送信するということなのだろう。

symbolicateとは何か

送信されたレポートのスタックトレースには最初は標準ライブラリのシンボル名しか表示されない。
そこで送信されたレポートには手動でアプリ固有のシンボル名を表示できるようにする処理を行う。これをsymbolicateと呼んでいる。

symbolicateで起きた問題

symbolicateするにはリポジトリのserver/localに配置されているスクリプトを使う。
symbolicate.phpはサーバーのレポートをsymbolicateして更新するスクリプトでsymbolicatecrash.plはコマンドラインで指定したクラッシュレポートをsymbolicateするスクリプトだ。

僕の環境ではこれを使うにあたって3つ問題が発生した。

1.原因不明だがfile_get_contents()がWarningを出して止まってしまう
symbolicate.phpのfile_get_contents()を使っている場所をcurlを使うように修正して対応した。

2.MoreUtils.pmがなくてsymbolicatecrash.plが動かない
標準では入っていないパッケージだったようなので下記の通りインストールした。
sudo cpan install List::MoreUtils

3.symbolicateを実行してもシンボル名が表示されない
これは下記のサイトを参考にXCodeのBuild Settingsを修正したところ直った。
http://support.hockeyapp.net/kb/client-integration-ios-mac-os-x/how-to-solve-symbolication-problems
僕の場合はStrip Debug Symbols During CopyをYESに変更する必要があった。




1 件のコメント:

  1. Wynn casino, opening day 2021 - Dr. MCD
    Wynn Resorts, the developer of luxury resorts, has launched a new slate of slots in a Las 강원도 출장마사지 Vegas 안동 출장안마 hotel. It's the 남양주 출장마사지 first in the world 나주 출장마사지 to 서귀포 출장마사지

    返信削除