Flutter: Macのデスクトップアプリで、path_providerのメソッドが使えない

2022/3/2 Flutter エラー・バグ日記
Android/iOSでリリース済のアプリを、Macのデスクトップアプリとしてビルドすると、「path_provider」のメソッドである「getApplicationDocumentsDirectory」が下記エラーで使えない。
Unhandled Exception: MissingPluginException(No implementation found for method getApplicationDocumentsDirectory on channel plugins.flutter.io/path_provider)
使っている「path_provider」のバージョンは^2.0.4で、最新ではないものの、下記パッケージのページを見るとMACOS対応になっている。
Flutterデスクトップアプリの下記公式チュートリアルページに従い、「entitlements」ファイルの権限設定もちゃんとしている。
なぜだろう。。。
「path_provider」のソースコードを見ても分からず、ネットにも情報が見つからない。
ふと、下記パッケージのページ右側の「Dependencies」のところに「path_provider_macos」というmac用のパッケージがあることに気づく。
恐らく「path_provider」を入れれば付随してくるパッケージだと思うが、「path_provider_macos」のExampleページを覗くと、「getApplicationDocumentsPath」というパス取得メソッドを使うコード例が掲載されていた。
そこで、「path_provider_macos」パッケージをインポートして、ソースコードを見てみると、「PathProviderMacOS」クラスのインスタンスを作れば、「getApplicationDocumentsPath」を呼び出せそうだと分かったので、やってみると無事、エラーを解消できた。
パス取得のメソッドは複数用意されているが、「getApplicationDocumentsPath」は、MacのFinderの「書類」フォルダのパスを表していた。
FlutterでMacのデスクトップアプリを作成される方には、ご参考です。
\ Flutterの学習で役立ったコンテンツ・書籍 /

Dart入門 - Dartの要点をつかむためのクイックツアー