Flutter app opens, but is stuck on splash-screen

Viewed 11571

When I built my iOS app, it opened perfectly in the simulator on my Macbook. When I publish the app on the itunes store, the app does not work anymore. The splashscreen is shown, but stays on the screen.

8 Answers

Solution for me:

1) updated my iOS toolchain with flutter doctor

2) flutter clean

3) flutter build ios --release in the terminal

4) Archive in Xcode

I fix this by remove project_root/ios/Pods/ & project_root/ios/Podfile.lock and run pod install again after flutter clean & flutter build ios --release

I tried various solutions. But finally i found out issue was version of my android studio(ide used for development for flutter, in my case). I updated my version to 3.2.1 and then followed instructions to run in xcode and it worked in my case. Hope it helps!

I added WidgetsFlutterBinding.ensureInitialized()to the main page.

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(MyApp());
}

I had this problem with an android build of an app that uses multiple flavors, but in the end it turned out I was simply using the wrong APK file.

So the build created 3 apk files eg.

myapp.apk
myapp-test-debug.apk
myapp-test-release.apk

My assumption was to use the test-release.apk which got the app stuck on the splash screen. Using the myapp.apk did not have this problem.

Bit of a facepalm moment for myself but maybe this helps someone else looking for an answer!

I face the same issues, and I finally found that the root of the problem is the setting of workspace of xcode,when i change the workspace settings from legacy build system to new build system,the bug disappear . hope can help you.

Maybe Podfile is out of date.

Solution for me:

  1. Remove Pobfile folder and Pobfile.lock direction: "your_flutter_project/ios/"
  2. Run flutter clean
  3. Run flutter pub get
  4. Run flutter build ios

Hope this helpful.

If non of the above solutions work for you on ios, Try this. In xcode under Targets > General. Set Main interface to Main and set luanch screen file to LaunchScreen.

This worked for me on IOS.

Related