Flutter fatal error: ‘Flutter/Flutter.h’ file not found

Last updated on May 21, 2021 A Goodman Loading... 13 comments

Flutter is an open-source UI software development kit that grows very quickly and is regularly updated with major changes. Therefore, it is very normal for you to get incompatible errors when working with it.

This short post shows you a solution to fix a common bug you may run into when developing iOS apps with Flutter.

The Problem

After upgrading Flutter from version 1.x to version 2.x, I faced one fatal error when running my project on an iOS simulator (this project was created a few months ago).

The error message:

fatal error: 'Flutter/Flutter.h' file not found

Also with this project but the day before, it ran completely fine.

The full output:

Xcode's output:
↳
    1 error generated.
    In file included from /Users/goodman/Coding/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.27/ios/Classes/FLTPathProviderPlugin.m:5:
    /Users/goodman/Coding/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.27/ios/Classes/FLTPathProviderPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
    In file included from /Users/goodman/Coding/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_app_badger-1.1.2/ios/Classes/FlutterAppBadgerPlugin.m:1:
    /Users/goodman/Coding/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_app_badger-1.1.2/ios/Classes/FlutterAppBadgerPlugin.h:1:9: fatal error: 'Flutter/Flutter.h' file not
    found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
    note: Using new build system
    note: Building targets in parallel
    note: Planning build
    note: Constructing build description

Could not build the application for the simulator.
Error launching application on iPhone 11.

You can see error messages with the names of plugins that are different from mine (like shared_preferences, sqflite, firebase family packages, etc), but it will all be related to the Flutter.h file. Don’t be panic, the solution below works for me and it will work for you as well.

The Solution

1. Backup the Runner folder in your ios folder to a safe place.

2. Delete the ios folder:

3. Still in the root directory, run the following command:

flutter create . 

A new ios folder will be generated inside your project.

4. Copy and paste the Runner folder you have backup before to the new ios folder:

A dialog will appear. Click on the Replace button to continue.

5. If your project is NOT using Firebase, you can ignore this step and move on the next one. Otherwise, you need to re-add the GoogleService-Info.plist file by opening the ios folder with Xcode, right-click on Runner, choose Add Files to “Runner” from the drop-down menu, then select the GoogleService-Info.plist file that associated with your project.

6. Navigate to your ios folder and run:

pod install

You may fall into something like this:

[!] CocoaPods could not find compatible versions for pod "firebase_analytics":
  In Podfile:
    firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`)

Specs satisfying the `firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`)` dependency were found, but they required a higher minimum deployment target.

[!] Automatically assigning platform `iOS` with version `9.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.

This error can happen with other packages, not just firebase_analytics as mine. Don’t worry. Just open your Podfile, uncomment the platform :ios line and replace 9.0 with a higher version (version 11.0 is pretty good to go):

# Uncomment this line to define a global platform for your project
platform :ios, '11.0'

Now run pod install again and it should work (a few warnings may appear but we don’t care about them).

7. Finally, go back to your root directory and run your project as normal (don’t forget to launch an iOS simulator first):

cd ..
flutter run

If you still get errors, clear the Flutter’s build cache by executing this:

flutter clean 

Then run your project again.

Hope this helps. Have a nice day and happy Fluttering. Further reading:

You can also take a tour around our Flutter topic page, or Dart topic page for the latest tutorials and examples.

Related Articles

Subscribe
Notify of
guest
13 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Egidio
Egidio
2 months ago

any advice?

Wilyanto
Wilyanto
2 months ago

Totally works for me, Thank You!

madan raj
madan raj
2 months ago

you saved my day
thanks

Mike
Mike
2 months ago

I have 3 projects that get this error. This guide works for 2 projects. I’ll try it again.

Vignesh Marimuthu
Vignesh Marimuthu
1 month ago

You saved my day bro. Got stuck with this for the past 2 days. Thank you for this article.

Sumeda
Sumeda
1 month ago

Thanks a lot.
This works for me.

Nikhil
Nikhil
1 month ago

Thanks a lot bro , worked perfectly

Phil
Phil
16 days ago

Got stuck on flutter create . since my package has a period in it xxxxxx.xxxxxx. any advice/. Thx

Rahul raj
Rahul raj
14 days ago

Thanks..its working

Harry
Harry
5 hours ago

Thanks bro, after hours and multiple tries, yours is the only one that worked!

13
0
Would love your thoughts, please comment.x
()
x