Flutter Secure Storageで、AndroidOptionsやIOSOptionsがエラーになる
Flutterで、flutter_secure_storage パッケージを使用する際、
EncryptedSharedPreferencesや、Keychainのオプションを設定しようとしたが、
エラーが発生してしまう場合の確認ポイントについてです。
エラーの内容
まず、AndroidOptionsに関して。
AndroidOptions _getAndroidOptions() => const AndroidOptions(
encryptedSharedPreferences: true,
);
上記のような実装に対し、以下のようなエラーが表示されます。
The named parameter 'encryptedSharedPreferences' isn't defined.
次に、IOSOptionsについて。
IOSOptions _getIOSOptions() => const IOSOptions(
accessibility: KeychainAccessibility.first_unlock,
);
上記のような実装に対し、以下のようなエラーが表示されます。
Undefined name 'KeychainAccessibility'.
原因と対策
ライブラリを以下のコマンドで追加した際に、起こり得るようです。
$ flutter pub add flutter_secure_storage
この際、公式の記載とは異なり、以下のバージョンがインストールされてしまい、
AndroidOptionsや、IOSOptionsが未対応のバージョンだったと思われます。
dependencies:
flutter_secure_storage: ^4.2.1
そのため、pubspec.yaml で最新のバージョンを指定するか、
以下のコマンドで最新バージョンを指定してインストールされるのが良いかと思います。
$ flutter pub add flutter_secure_storage:'^9.2.2'
最新バージョンは、以下よりご確認ください。
https://pub.dev/packages/flutter_secure_storage/versions