Skip to content

"Flutter/Flutter.h not found." on iOS. #16036

Closed
@jeroen-meijer

Description

@jeroen-meijer

Steps to Reproduce

Preface:

I'm on the flutter master channel and have run upgrade half an hour ago.
I've reinstalled flutter and cocoapods completely before and tried the fixes provided in #15437, #15532 and all other issues on GitHub looking like the problem I have. _

flutter create --template=plugin -i swift health_stats
cd health_stats/example

health_stats.zip

Logs

Run your application with flutter run and attach all the log output.

Launching lib/main.dart on iPhone 6 in debug mode...
Running Xcode clean...                                       0,9s
Starting Xcode build...
Xcode build done                                             1,1s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET health_stats OF PROJECT Pods WITH CONFIGURATION Debug ===
    <module-includes>:1:9: note: in file included from <module-includes>:1:
    #import "Headers/health_stats-umbrella.h"
            ^
    /Users/jeroen/Projects/_flutter_experiments/health_stats/example/ios/Pods/Target Support Files/health_stats/health_stats-umbrella.h:13:9: note: in file included from /Users/jeroen/Projects/_flutter_experiments/health_stats/example/ios/Pods/Target Support Files/health_stats/health_stats-umbrella.h:13:
    #import "HealthStatsPlugin.h"
            ^
    /Users/jeroen/Projects/_flutter_experiments/health_stats/ios/Classes/HealthStatsPlugin.h:1:9: error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^
    <unknown>:0: error: could not build Objective-C module 'health_stats'
Could not build the application for the simulator.
Error launching application on iPhone 6.

Run flutter analyze and attach any output of that command also.

Analyzing /Users/jeroen/Projects/_flutter_experiments/health_stats/example...
No issues found!
Ran in 5.7s

Flutter Doctor

Paste the output of running flutter doctor -v here.

[✓] Flutter (Channel master, v0.2.5-pre.60, on Mac OS X 10.13.3 17D102, locale nl-NL)
    • Flutter version 0.2.5-pre.60 at /Users/Jeroen/flutter
    • Framework revision 31049a5a73 (64 minutes ago), 2018-03-28 10:58:48 -0700
    • Engine revision dd6f46c485
    • Dart version 2.0.0-dev.41.0.flutter-2f68e82526

[✓] Android toolchain - develop for Android devices (Android SDK 26.0.3)
    • Android SDK at /Users/jeroen/Library/Developer/Xamarin/android-sdk-macosx
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 26.0.3
    • ANDROID_HOME = /Users/jeroen/Library/Developer/Xamarin/android-sdk-macosx
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode-beta.app/Contents/Developer
    • Xcode 9.3, Build version 9Q127n
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.0.beta.1

[✓] Android Studio (version 3.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[✓] VS Code (version 1.21.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Dart Code extension version 2.11.1

[✓] Connected devices (1 available)
    • iPhone 6 • B93E29EC-05E0-4948-B369-BB8B2347823D • ios • iOS 11.3 (simulator)

• No issues found!

Additional information

Creating and running a normal project works fine:
flutter create regular
cd regular
flutter run

Launching lib/main.dart on iPhone 6 in debug mode...
Running Xcode clean...                                       0,9s
Starting Xcode build...
 ├─Assembling Flutter resources...                    3,4s
 └─Compiling, linking and signing...                  5,1s
Xcode build done                                             9,7s
Syncing files to device iPhone 6...                          2,0s

🔥  To hot reload your app on the fly, press "r". To restart the app entirely, press "R".
An Observatory debugger and profiler on iPhone 6 is available at: http://127.0.0.1:8100/
For a more detailed help message, press "h". To quit, press "q".

However when adding a dependency like path_provider:

...
dependencies:
  flutter:
    sdk: flutter
  path_provider: ^0.4.0 [ADDED THIS LINE]
...

and then flutter packages get,

[regular] flutter packages get
Running "flutter packages get" in regular...
exit code 0

flutter run produces this:

Launching lib/main.dart on iPhone 6 in debug mode...
Running pod install...                                       1,0s
Running Xcode clean...                                       0,9s
Starting Xcode build...
Xcode build done                                             1,4s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET path_provider OF PROJECT Pods WITH CONFIGURATION Debug ===
    In file included from /Users/jeroen/.pub-cache/hosted/pub.dartlang.org/path_provider-0.4.0/ios/Classes/PathProviderPlugin.m:5:
    /Users/jeroen/.pub-cache/hosted/pub.dartlang.org/path_provider-0.4.0/ios/Classes/PathProviderPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone 6.

I did not have path_provider version 0.4.0 in my dart packages folder before running the app, so it's a fresh copy.

I need to get this working a.s.a.p. since I need to make an app for our company soon.

Activity

mravn-google

mravn-google commented on Mar 28, 2018

@mravn-google
Contributor

In the health_stats project, your example/ios/Podfile appears to be almost full day older than example/ios/Podfile.lock. Perhaps the former has been copied from somewhere? I believe the consequence of a Podfile older than Podfile.lock is that pod install isn't executed as part of flutter run. This is consistent with the log output at the start of your Logs section.

Can I ask you to remove example/ios/Podfile.lock and retry flutter run in health_stats?

(Meanwhile, I'll be trying to reproduce the error of the regular project.)

jeroen-meijer

jeroen-meijer commented on Mar 28, 2018

@jeroen-meijer
Author

Thank you very much for your speedy reply.

I have made this project around an hour ago (IIRC), so everything is newly generated, so I don't know how the dates are that inconsistent.

I have deleted the example/ios/Podfile.lock in the health_stats project and ran flutter run, to no avail, unfortunately.

Launching lib/main.dart on iPhone 6 in debug mode...
Running pod install...                                       1,0s
Running Xcode clean...                                       0,9s
Starting Xcode build...
Xcode build done                                             1,2s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET health_stats OF PROJECT Pods WITH CONFIGURATION Debug ===
    <module-includes>:1:9: note: in file included from <module-includes>:1:
    #import "Headers/health_stats-umbrella.h"
            ^
    /Users/jeroen/Projects/_flutter_experiments/health_stats/example/ios/Pods/Target Support Files/health_stats/health_stats-umbrella.h:13:9: note: in file included from /Users/jeroen/Projects/_flutter_experiments/health_stats/example/ios/Pods/Target Support Files/health_stats/health_stats-umbrella.h:13:
    #import "HealthStatsPlugin.h"
            ^
    /Users/jeroen/Projects/_flutter_experiments/health_stats/ios/Classes/HealthStatsPlugin.h:1:9: error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^
    <unknown>:0: error: could not build Objective-C module 'health_stats'
Could not build the application for the simulator.
Error launching application on iPhone 6.

Edit: here is the new Podfile.lock

Podfile.lock.zip

mravn-google

mravn-google commented on Mar 28, 2018

@mravn-google
Contributor

You did get a Running pod install... line in your output now. OK, ruled that one out then.

I could not reproduce the error you get in the regular project.

Just noticed that your Cocoapods installation is 1.5.0.beta.1. Flutter tooling has not been tested with that version as far as I know. The regular project works for me with the path_provider dependency using Flutter master and Cocoapods 1.4.0.

jeroen-meijer

jeroen-meijer commented on Mar 28, 2018

@jeroen-meijer
Author

Ok, thanks for checking.

I've uninstalled Cocoapods using gem and installed version 1.4.0 (using sudo gem install cocoapods -v 1.4.0) but sadly get the exact same output as before.

mravn-google

mravn-google commented on Mar 28, 2018

@mravn-google
Contributor

Did you redo pod installation after the downgrade of Cocoapods? The health_stats project also works for me after deleting example/ios/Podfile.lock and example/ios/Pods/.

And flutter clean.

jeroen-meijer

jeroen-meijer commented on Mar 28, 2018

@jeroen-meijer
Author

Well, after running pod install inside the example/ios folder, health_stats works!

Sadly, doing the same thing for regular and running it still gives me this:

Launching lib/main.dart on iPhone 6 in debug mode...
Running Xcode clean...                                       0,8s
Starting Xcode build...
Xcode build done                                             1,1s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET path_provider OF PROJECT Pods WITH CONFIGURATION Debug ===
    In file included from /Users/jeroen/.pub-cache/hosted/pub.dartlang.org/path_provider-0.4.0/ios/Classes/PathProviderPlugin.m:5:
    /Users/jeroen/.pub-cache/hosted/pub.dartlang.org/path_provider-0.4.0/ios/Classes/PathProviderPlugin.h:5:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone 6.

I should mention that I got this error even before installing Cocoapods 1.5.0.beta.1.
So these are two separate problems apparently.

Edit:
The log for pod install inside regluar:

~/Projects/_flutter_experiments/regular/ios > pod install

Analyzing dependencies
Fetching podspec for `Flutter` from `Pods/.symlinks/flutter/ios`
Fetching podspec for `path_provider` from `Pods/.symlinks/plugins/path_provider-0.4.0/ios`
Downloading dependencies
Using Flutter (1.0.0)
Using path_provider (0.0.1)
Generating Pods project
Integrating client project
Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.

[!] Automatically assigning platform `ios` with version `8.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`.
mravn-google

mravn-google commented on Mar 28, 2018

@mravn-google
Contributor

Can I ask you to attach a zip of your regular project? I'm curious about what difference makes it fail for you and work for me.

jeroen-meijer

jeroen-meijer commented on Mar 28, 2018

@jeroen-meijer
Author

Of course, here you go:
https://nofile.io/f/G91uVSR6HYO/regular.zip
(File seems too big for GitHub.)

mravn-google

mravn-google commented on Mar 28, 2018

@mravn-google
Contributor

Your Podfile in regular does not seem to contain the fix of #15437.

jeroen-meijer

jeroen-meijer commented on Mar 28, 2018

@jeroen-meijer
Author

What fix are you referring to?

If you meant this workaround:

    target.headers_build_phase.files.each do |file|
      file.settings = { 'ATTRIBUTES' => ['Public'] }
    end

I just added it, removed Podfile.lock, ran pod install in the ios folder and ran flutter run, but still get the same output.

mravn-google

mravn-google commented on Mar 28, 2018

@mravn-google
Contributor

Sorry, my bad. That fix is relevant for Swift projects only.

jeroen-meijer

jeroen-meijer commented on Mar 28, 2018

@jeroen-meijer
Author

No problem. Very useful to know, though.

Any other suggestions?

mravn-google

mravn-google commented on Mar 28, 2018

@mravn-google
Contributor

No currently, I'm afraid. I cannot reproduce the error you get.

jeroen-meijer

jeroen-meijer commented on Mar 28, 2018

@jeroen-meijer
Author

I understand.

I want to try to reinstall everything I can to see if that fixes anything.
Do you perhaps have a list of tools and programs that flutter uses so I can uninstall and reinstall it all, including dependencies that get installed on the side?

For example:

- flutter
- cocoapods
...

180 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @dhubler@arden@fuzzybinary@zoechi@bschwind

      Issue actions

        "Flutter/Flutter.h not found." on iOS. · Issue #16036 · flutter/flutter