简体   繁体   中英

Flutter app opens, but is stuck on splash-screen

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.

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

我通过删除project_root/ios/Pods/ & project_root/ios/Podfile.lock并在flutter clean & flutter build ios --release之后再次运行pod install解决这个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.

Add android:allowBackup="false" tag inside your <application> object in your app manifest

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM