'Can't build a flutter project with PathProvider dependency
Disclaimer: First of all, this is my early attempt to play with Flutter. So forgive me if is a noob question.
I had been playing with an MVP-Clean architecture for Flutter apps in iOS, and when trying to build a data source where I can persist data easily I found PathProvider plugin.
After trying the next:
Add dependencies to the project
dependencies: path_provider: "^0.4.0"
Provide dependencies
flutter packages get
pod install
I try to compile the project and the compiler shouts: ** BUILD FAILED **
Xcode's output: ↳ === BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug === /proect_directory/ios/Runner/GeneratedPluginRegistrant.m:6:9: fatal error: 'path_provider/PathProviderPlugin.h' file not found #import <path_provider/PathProviderPlugin.h> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated.
I did a quick search and I did not find anything useful.
Could anyone illuminate my path?
EDIT:
Already tried with:
flutter update-packages --force-upgrade
And the doctor output does not show any errors:
flutter doctor
- Doctor summary (to see all details, run flutter doctor -v):
- [✓] Flutter (Channel beta, v0.1.5, on Mac OS X 10.13.3 17D102, locale en-ES)
- [✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
- [✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
- [✓] Android Studio (version 3.0)
- [✓] IntelliJ IDEA Community Edition (version 2017.3.4)
- [✓] Connected devices (1 available)
Solution 1:[1]
This issue should be fixed by https://github.com/flutter/flutter/pull/15437
To apply the fix to an existing project, add these lines to ios/Podfile.
Solution 2:[2]
I finally find a workaround.
I went to the GitHub repo, found the PathProviderPlugin.h
file, and put it inside the location:
build/ios/Debug-iphonesimulator/path_provider/path_provider.framework/Headers/
Sounds a little bit dirty, but was the only way to keep coding.
Hope helps someone. And thanks to @GünterZöchbauer to help me find a useful lead.
Solution 3:[3]
- Open the project in xcode. i.e On Android Studio, right click -> Flutter -> open in xcode.
- Find the PathProviderPlugin.h file. (Find -> Find in workspace -> 3. PathProviderPlugin.h)
- Click on the result. In case you cannot find the result, right click on the PathProviderPlugin.m file and choose 'Reveal In Project Navigator'
- There you will see PathProviderPlugin.h file.
- On right hand side, target membership, change the settings from project to public.
Do this for any files for which compiler is complaining, till you are able to build your project.
Solution 4:[4]
i have just deleted the podfile.lock and podfile then i run the command flutter build ios ,it install podfile and podlock perfectly but build was failed because i didnt set the team for provision, so then i came to the terminal of android studio and run the command flutter run and it works!...
Solution 5:[5]
For me this was solved by editing podfile as mentioned by this https://github.com/flutter/flutter/issues/10654#issuecomment-389034245 and change the xcode's build system to legacy.
Solution 6:[6]
I encountered a similar issue and solved it with these simple steps:
- Delete the .pub-cache folder inside the Flutter SDK
- From the root directory of the flutter project, command
flutter clean
thenflutter pub get
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Mikkel Ravn |
Solution 2 | MiguelCatalan |
Solution 3 | Prachi Shrivastava |
Solution 4 | Ashutosh Tiwari |
Solution 5 | Kavinda Jayakody |
Solution 6 | Sharon |