Abd*_*adi 5 xcode dart dart-pub flutter flutter-dependencies
当我尝试在 iOS 模拟器上启动我的 flutter 应用程序时,我看到一个白色的空白屏幕,如下所示:
\n Launching lib/main.dart on iPhone 12 Pro Max in debug mode...\nRunning Xcode build... \n \xe2\x94\x94\xe2\x94\x80Compiling, linking and signing... 13.7s\nXcode build done. 38.0s\n[VERBOSE-2:ui_dart_state.cc(186)] Unhandled Exception: Invalid argument(s): Object/factory with type Api is already registered inside GetIt. \n#0 throwIf (package:get_it/get_it_impl.dart:7:18)\n#1 _GetItImplementation._register (package:get_it/get_it_impl.dart:729:5)\n#2 _GetItImplementation.registerLazySingleton (package:get_it/get_it_impl.dart:502:5)\n#3 setupLocator (package:r/locator.dart:14:18)\n#4 main (package:r/main.dart:12:3)\n#5 _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:140:25)\n#6 _rootRun (dart:async/zone.dart:1354:13)\n#7 _CustomZone.run (dart:async/zone.dart:1258:19)\n#8 _runZoned (dart:async/zone.dart:1788:10)\n#9 runZonedGuarded (dart:async/zone.dart:1776:12)\n#10 _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:133:5)\n#11 _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:283:19)\n#12 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.<\xe2\x80\xa6>\nSyncing files to device iPhone 12 Pro Max... 137ms\nRun Code Online (Sandbox Code Playgroud)\n
小智 4
你的问题已经晚了,但我尝试向那些仍然面临此类错误的人解释这个问题,我希望它有所帮助。
基本上发生的事情是在 GetIt 实例中注册的依赖项在某个时刻被重新注册。有三种可能的解决方案
Run Code Online (Sandbox Code Playgroud)if (!GetIt.instance.isRegistered<T>()) { GetIt.instance.registerLazySingleton<T>(() => const T());}
Run Code Online (Sandbox Code Playgroud)if (GetIt.instance.isRegistered<T>()) { GetIt.instance.unregister<T>(); }
受此启发。