Closed
Description
When using shared_preferences: ^2.0.4
, when calling SharedPreferences.getInstance()
I get a null check exception.
Fails on
- macOS
- iOS
- Android
Succeeds on
- Web
Flutter version & devices
Flutter 2.1.0-10.0.pre • channel dev • https://github.com/flutter/flutter.git
Framework • revision cc9b78fc5c (2 weeks ago) • 2021-02-25 13:26:03 -0800
Engine • revision a252ec09b7
Tools • Dart 2.13.0 (build 2.13.0-77.0.dev)
SM S102DL (mobile) • RF8N737S2CR • android-arm • Android 10 (API 29)
Luke's iPhone (mobile) • 0bc0c4864d8e08aac4456893cded68bf0b6767d5 • ios • iOS 14.4
macOS (desktop) • macos • darwin-x64 • macOS 11.2.1 20D74 darwin-x64
Chrome (web) • chrome • web-javascript • Google Chrome 89.0.4389.82
MCVE
name: shared_preferences_macos_issue
description: A new Flutter project.
publish_to: "none"
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
shared_preferences: ^2.0.4
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() async {
final prefs = await SharedPreferences.getInstance();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
body: Center(
child: Text('shared_preferences error'),
),
),
);
}
}
[ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: Null check operator used on a null value
#0 MethodChannel.binaryMessenger
package:flutter/…/services/platform_channel.dart:142
#1 MethodChannel._invokeMethod
package:flutter/…/services/platform_channel.dart:148
#2 MethodChannel.invokeMethod
package:flutter/…/services/platform_channel.dart:331
#3 MethodChannel.invokeMapMethod
package:flutter/…/services/platform_channel.dart:358
#4 MethodChannelSharedPreferencesStore.getAll
package:shared_preferences_platform_interface/method_channel_shared_preferences.dart:44
#5 SharedPreferences._getSharedPreferencesMap
package:shared_preferences/shared_preferences.dart:181
#6 SharedPreferences.getInstance
package:shared_preferences/shared_preferences.dart:57
#7 main
package:shared_preferences_macos_issue/main.dart:5
#8 _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:146:25)
#9 _rootRun (dart:async/zone.dart:1354:13)
#10 _CustomZone.run (dart:async/zone.dart:1258:19)
#11 _runZoned (dart:async/zone.dart:1789:10)
#12 runZonedGuarded (dart:async/zone.dart:1777:12)
#13 _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:139:5)
#14 _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:283:19)
#15 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)