Реализация метода getAll на канале plugins.flutter.io/shared_preferences не найдена.IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Реализация метода getAll на канале plugins.flutter.io/shared_preferences не найдена.

Сообщение Anonymous »


В моем приложении Flutter произошло исключение.
[*]
Приложение отлично работает в ОС Android, но при попытке запуска в IOS выдает исключение.
[*]
Приложение отлично работает на Android.
[*]
Сталкиваюсь с этой проблемой на заставке, где пытаюсь получить статус входа из общей настройки.
Исключение.
[VERBOSE-2:dart_vm_initializer.cc(41)] Необработанное исключение: MissingPluginException (реализация метода getAll на канале plugins.flutter.io/shared_preferences не найдена) Используемая версияshared_preference: shared_preferences:^2.2.2

Версия Flutter: 3.13.8

Версия Dart: 3.1.4

Это моя реализация общих настроек.

import 'package:shared_preferences/shared_preferences.dart'; импортировать '../model/login/county_list_model.dart'; класс SharedPrefHelper { // Шаблон синглтона SharedPrefHelper._privateConstructor(); статический окончательный экземпляр SharedPrefHelper = SharedPrefHelper._privateConstructor(); // Ключи SharedPreferences статическая константная строка orgIdKey = 'orgId'; статическая константная строка extAppIdKey = 'extAppId'; статическая константная строка shortCodeKey = 'shortCode'; статическая константная строка isActiveKey = 'isActive'; static const String name = 'countyName'; статическая константная строка userNameKey = 'имя пользователя'; статическая константная строка passWordKey = 'пароль'; // Экземпляр SharedPreferences поздно SharedPreferences _prefs; // Инициализируем общие настройки Future init() async { _prefs = ожидание SharedPreferences.getInstance(); } // переменные для свойств округа int get orgId => _prefs.getInt(orgIdKey) ?? 0; Строка get extAppId => _prefs.getString(extAppIdKey) ?? ''; Строка get shortCode => _prefs.getString(shortCodeKey) ?? ''; Строка get countyName => _prefs.getString(name) ?? ''; Строка get getUsername => _prefs.getString(userNameKey) ?? ''; Строка get getPassword => _prefs.getString(passWordKey) ?? ''; int get isActive => _prefs.getInt(isActiveKey) ?? 0; // переменная для получения статуса входа\ bool get isLoggedIn => _prefs.getBool('login') ?? ЛОЖЬ; bool get isRememberMe => _prefs.getBool('isRememberMe') ?? ЛОЖЬ; // Функция для сохранения свойств выбранного элемента в общих настройках saveSelectedCountyItem (выбранный элемент) асинхронный { окончательные настройки = ждут SharedPreferences.getInstance(); prefs.setInt('orgId', selected.orgId); prefs.setString('extAppId', selected.extAppId); prefs.setString('shortCode', selected.shortCode); prefs.setInt('isActive', selected.isActive); prefs.setString('countyName', selected.name); } Future setLogInStatus(bool loginStatus) async { окончательные настройки SharedPreferences = ждут SharedPreferences.getInstance(); return prefs.setBool('login', loginStatus); } Future setaccessToken(String token) async { окончательные настройки SharedPreferences = ждут SharedPreferences.getInstance(); return prefs.setString('токен', токен); } Future setUserToken(String token) async { окончательные настройки SharedPreferences = ждут SharedPreferences.getInstance(); return prefs.setString('usertoken', токен); } Future geuserToken() async { SharedPreferences pref = ждут SharedPreferences.getInstance(); return pref.getString('usertoken') ?? ""; } Future gettoken() async { SharedPreferences pref = ждут SharedPreferences.getInstance(); return pref.getString('токен') ?? ""; } Future getLogInStatus() async { SharedPreferences pref = ждут SharedPreferences.getInstance(); return pref.getBool('login') ?? ЛОЖЬ; } Future setUserName(String username) async { окончательные настройки SharedPreferences = ждут SharedPreferences.getInstance(); return prefs.setString('имя пользователя', имя пользователя); } Future setPassword (строковый пароль) async { окончательные настройки SharedPreferences = ждут SharedPreferences.getInstance(); return prefs.setString('пароль', пароль); } Future setRememberMe(bool isRememberMe) async { окончательные настройки SharedPreferences = ждут SharedPreferences.getInstance(); return prefs.setBool('isRememberMe', isRememberMe); } } Это экран-заставка, на которой приложение зависает и выдает исключение в журнале, как указано выше.
import 'package:civitpermit/constants/color_constants.dart'; импортировать «пакет:civitpermit/view/dashboard/dash_board.dart»; импортировать «пакет: флаттер/материал.dart»; импортировать «пакет: провайдер/провайдер.dart»; импортировать '../../utils/shared_pref.dart'; импортировать '../../view_models/login/login_viewmodel.dart'; импортировать «login_screen.dart»; класс SplashScreen расширяет StatefulWidget { const SplashScreen({super.key}); @переопределить State createState() => _SplashScreenState(); } класс _SplashScreenState расширяет State { @переопределить недействительный initState() { окончательная модель authViewModel = Provider.of(контекст, прослушивание: false); authViewModel.authenticateClient(''); _navigateToLogin(); супер.initState(); } @переопределить Сборка виджета (контекст BuildContext) { вернуть SafeArea( ребенок: Эшафод( фонЦвет: ColorConstants.primaryColor, тело: Центр( дочерний элемент: Image.asset( "активы/изображения/ic_logo.png", высота: 60, )), ), ); } _navigateToLogin() асинхронный { ждать Future.delayed( const Продолжительность (миллисекунды: 2000), () {}, ); SharedPrefHelper.instance.getLogInStatus().then((value) { если (значение == ложь) { Навигатор.pushReplacement( контекст, МатериалПажеРоут( строитель: (контекст) => LoginScreen(), ), ); } еще { Навигатор.pushReplacement( контекст, МатериалПажеРоут( строитель: (контекст) => const DashboardScreen(), ), ); } }); } }
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»