🐒
Flutter SDKのバージョンをアプリ内に表示させる方法
はじめに
Flutterのウィジェットのカタログアプリを開発する際に、
アプリが使用しているFlutterのバージョンが見えたほうがいいだろう
ということで、表示する方法を考えてみました。
今回開発したアプリはこの記事の下の方で紹介しました。
やりたいこと
以下のスクショの赤枠のようにアプリで使用しているFlutterのSDKバージョンを表示させたい。
バージョンを直接ハードコードするのではなく、Flutterのバージョンを変更してもソースコードを変更することなく取得できるようにしたい。
結論
とりあえず、プロジェクト内の.dart_tool/version
のファイルを参照してバージョンを取得できた。
.dart_tool/version
3.3.10
バージョンを取得するコードは以下のような感じ
flutter-version.dart
flutterVersion = await DefaultAssetBundle.of(context)
.loadString('.dart_tool/version');
pubspec.yaml
assets:
- .dart_tool/version
このやり方で大丈夫かどうか、試しにFlutterのチャンネルをstable(3.3.10)からbeta(3.7.0-1.4-pre)に変更してみた。
その場合にもソースコードに変更を加えることなく↓の画像のようにバージョンを取得できることを確認できた。
今回は.dart_tool/version
を参照しましたが、fvmを使用している場合は
.fvm/fvm_config.json
から取得できるのではないでしょうか。
今回開発したアプリ
FlutterのiOSスタイルのウィジェット(Cupertino Widget)のカタログアプリです。
Cupertino Widgetがどんな感じか自分のスマホでUIを触ることが出来ます。
UIと一緒にそのコードも確認することもできます。
Android:
iOS:
参考
.dart_tool
フォルダについて
Discussion