Garmin アプリ開発(7) 不具合解析
アプリを公開していると、「Can’t use」とか「エラーが出ます」のような問い合わせメールがいくつか届きました。
「おかしいなぁ? シミュレーターではちゃんと動いているんだけど」
と思いつつ、こういうケースの調査方法です
ログを手動で送ってもらう
手元で問題が再現するなら、自分のデバイスのクラッシュログを確認します。
通常、/GARMIN/APPS/LOGS/CIQ_LOG.YML に入っています。
再現しない場合は
Thank you for your feedback.
If you also forward your crash logs I can take a look, the following file will contain what I needCIQ_LOG.YML or .TXT found within the /GARMIN/APPS/LOGS directory within the watch filesystem.
BR
などとメールして、 を送ってもらいます。
Monkey C: Open ERA Viewer
これはいろんなユーザーのところでエラーが発生したログを見ることができるツールです。個別にログを送ってもらう必要はないので便利ですね。
ただしこれはユーザーがスマホとSyncしないと見えないで、じっくり待つ必要があります。問い合わせが来てもすぐに見えるとは限らないです。
Garminの開発環境をセットアップした VS Codeから、Ctrl+Shift+p でコマンドパレットを開き、「Monkey C: Open ERA Viewer」を選ぶことでERA Viwerが開きます。
Core Topics (garmin.com) などを見ながら
Developer IDと
For example, if the URL is https://apps.garmin.com/en-US/developer/e1683f31–54fe–45d9–9aa8-cba39fe7fd1f/apps then the developer ID is e1683f31–54fe–45d9–9aa8-cba39fe7fd1f.
developer keyを設定します。
実際にクラッシュログが集まるとこのように見えます。
この場合は
AdditionalTimeStopwathView ファイルの backfunction 関数の 121行目が怪しいとなります。
今回該当するコードは
View.findDrawableById("back").setBitmap(_transparentIcon);
ですが、怪しいところは無いんだよね~
シミュレーターでは全機種OKだし、手元のForeAthlete55でも問題なし・・・
一つ怪しいのは _transparentIconで指定している画像データが 1x1 サイズの透明PNGファイルなので、特定機種では描画できないのかもしれない(仮説)
なのでこのアイコンを8x8の黒アイコンに変更してリリースして様子を見てみます。
(続くかも)