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を設定します。

 

実際にクラッシュログが集まるとこのように見えます。

ERA Viewer

この場合は

AdditionalTimeStopwathView ファイルの backfunction 関数の 121行目が怪しいとなります。

 

今回該当するコードは

                      View.findDrawableById("back").setBitmap(_transparentIcon);

ですが、怪しいところは無いんだよね~

シミュレーターでは全機種OKだし、手元のForeAthlete55でも問題なし・・・

 

一つ怪しいのは _transparentIconで指定している画像データが 1x1 サイズの透明PNGファイルなので、特定機種では描画できないのかもしれない(仮説)

 

なのでこのアイコンを8x8の黒アイコンに変更してリリースして様子を見てみます。

 

(続くかも)