Silent Tree
Silent Tree

Reputation: 1267

Flutter module not found in Xcode

When I build the app in Xcode it throws the error: .../ios/Runner/GeneratedPluginRegistrant.m:10:9: Module 'audioplayers' not found I tried reinstalling and setting up pods again, however it didn't work. I am also including pod 'Firebase/Core' in the pod file. Maybe I need to include the Audioplayer module there as well? Thanks in advance!

Upvotes: 95

Views: 150812

Answers (29)

ezaspi
ezaspi

Reputation: 714

I am using xCode 16. Perhaps it's because these solutions worked for an earlier version, but whatever the reason, none worked for me. Then I came upon this issue CocoaPods did not set the base configuration ... which was another error that was seen. The solution there was to remove the configurations, see link for more.

Upvotes: 0

Tokarev
Tokarev

Reputation: 53

None of the previous answer could solve my problem, but I found the fix for me:

I have changed many build settings in my xcode project, because of some special cases for my project. After all these changes, I forgot to add $(inherited) in "Header Search Path", "Framework Search Path", "Library Search Path" and "Other Linker Flags" to the build settings of my project.

So just add $(inherited) to all these fields and do pod install.

Upvotes: 1

user3413723
user3413723

Reputation: 12233

I had this problem because I tried to install a plugin flutter app_tracking_transparency while the app was running.

To fix, stop the app, remove the new plugin

flutter pub remove app_tracking_transparency

then add again

flutter pub add app_tracking_transparency

and voila, it works!

Upvotes: 1

Guzuu
Guzuu

Reputation: 1

So, after spending about 5 hours on this issue I found a solution for myself. What I've tried was:

  • pod files and folder deletions
  • flutter cleanups
  • regeneating ios folder
  • Cleaning Xcode temp files
  • Setting different versions of ios
  • Reinstalling Xcode

Nothing has worked!

Finally I've realised the problem was with cocoapods version. I had a problem installing cocoapods earlier so I've used brew install cocoapods (instead of sudo gem install cocoapods) and it worked, however it caused all my later problems to come up.

Problem with installing cocoapods with sudo gem install was caused by outdated ruby version.

So the way to go for me was:

  • Update ruby (updated to 3.1.3 from 2.6.x) rvm install 3.1.3 this allowed to gem install cocoapods
  • Update cocoapods sudo gem install cocoapods
  • flutter clean
  • Delete pods folder, podfile, podfile.lock
  • flutter build ios
  • pod install after this, pods with modules should generate
  • Run with Xcode

Try my answer if you have installed cocoapods using homebrew/didnt update cocoapods or you dont have any pods depenedencies inside podfile.lock/no podfile.lock at all.

Upvotes: 0

Alistor
Alistor

Reputation: 149

Just add build number and build version in Xcode (Target->General->Identity)

Find the image

Upvotes: 0

Haashir-Shakeel
Haashir-Shakeel

Reputation: 91

You need to change the podfile to this, someone above also said to change the podfile.

ENV['COCOAPODS_DISABLE_STATS'] = 'true'
platform :ios, '9.0'
project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end

Hopefully this will solve the module_not_found issue on Xcode, It worked for me and I was able to publish the app

Upvotes: 2

stan
stan

Reputation: 239

Make sure you open Runner.xcodeproj and not Runner.xcworkspace when using Xcode

Upvotes: 1

bqubique
bqubique

Reputation: 1395

In my case, without my knowledge, the Podfile was shortened a lot. The error that was popping up was:

module 'camera_avfoundation' not found

When comparing the commits with my old solution (when this problem wasn't occurring) this was the Podfile:

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

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  use_frameworks!
  use_modular_headers!

  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end

And this was the shortened Podfile:

# ** NEW PODFILE **
# Uncomment the next line to define a global platform for your project
# platform :ios, '11.0'

target 'Runner' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for Runner

end

I have no idea how it got shortened, what caused it, but the only thing that changed between these two commits were adding these two libraries:

firebase_core: ^2.4.1
firebase_crashlytics: ^3.0.10

to the project's pubspec.yaml file.

After I saw the diff between these two files, I just overwrote the shorter Podfile with the longer one (from old commit), and everything went well. Hope someone can shed some light why/how this happened, and why deintegrating/cleaning Podfile did not help.

Upvotes: 0

Tri yulianto
Tri yulianto

Reputation: 401

in my case the Pods not downloaded, because of Cocoapods version is not suitable (i am using apple silicon but using arm Pods). Reinstall Pods and using the proper version.

First open terminal and do this

sudo arch -x86_64 gem install ffi

then move into folder IOS folder and run this

arch -x86_64 pod install

Upvotes: 1

Dales Vu
Dales Vu

Reputation: 169

I also ran into this problem when launching the app with the simulators. After trying all above methods, it is still not fixed. I used the cable and run the app with my phone. And it worked like a charm. I hope this helps.

Upvotes: 1

Kirill Ivonchik
Kirill Ivonchik

Reputation: 21

If you tried everything but error still appears, make sure that your path to project doesn't contains whitespaces. Sometimes Xcode can't deal with it. And make sure that you have the latest Xcode and MacOS version.

Upvotes: 2

Paras Rai
Paras Rai

Reputation: 182

Make sure that ios version on podfile and development info be same

Upvotes: 1

TusifuEdison
TusifuEdison

Reputation: 101

Try this simple steps it worked for me

  1. Delete pod directory and podfile.lock

  2. flutter clean

  3. flutter pub get

  4. cd ios

  5. pod install --repo-update

  6. run the application in Xcode

Upvotes: 8

Rock
Rock

Reputation: 551

I have tried many things like delete the pod file and podfile.lock, flutter clean, reinstall cocoa pods, changing scheme, but nothing worked for me until I tried to change different version numbers (Ex: 8, 9 etc.) And finally when I changed from 8 to 10 (platform :ios, '10.0') in Pod file it worked. I think some libraries are not supporting some platform versions. For my project 10th worked. If you have the same problem try to change different platform :ios versions in podfile one by one, hope this will help.

NOTE: The platform :ios version in podfile should be same with the IOS Deployment Target in XCode -> Project Runner under Info tab otherwise it fails

Upvotes: 2

tuanngocptn
tuanngocptn

Reputation: 1471

Hello if you try all the ways above and can't solve your problem you can check. on your Scheme -> Edit Scheme... -> Build Configuration

In Build Configuration select box => check your config name is the right config you have. In some cases it's missing the "-" character and you need choose the right config.

Then close and rebuild your project.

Upvotes: 4

Shailendra Rajput
Shailendra Rajput

Reputation: 2902

I got same error with Better Video Player. Make sure your IOS Version in Pod File is 11. 1st make sure you are opening runner.xcworkspace If issue is still present then try this step.

1.- flutter clean
2.- flutter pub get
3.- cd ios
4.- pod deintegrate
5.- pod install

If issue is still present then

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
    end
  end
end

Upvotes: 20

Muhammad Arslan
Muhammad Arslan

Reputation: 1257

in my case, it was an issue with the firebase, firestore document. just make sure to update all libraries, like firebasecore, firebaseauth, analytics, etc to the latest version.

why it is showing the error of audioplayers?

because it is stated at the first position among all libraries.

means there is no issue at my side for audioplayer. after updating all libraries I just install the app.

if you still face a problem make sure to flutter clean then pod install. then run the app.

yes sometimes codes run on android but not run on ios. for that you have to update the libraries.

Upvotes: 1

Ahmadshoh
Ahmadshoh

Reputation: 79

If you run the program through Xcode, make sure that you have opened the Runner.xcworkspace file in XCode, not the Runner.xcodeproj file

Upvotes: 6

thisiskelvin
thisiskelvin

Reputation: 4202

For me (Mac w/ M1) I ran the following:

  1. flutter pub get
  2. cd ios
  3. rm -rf Pods/ Podfile.lock
  4. pod install

After this, running application within xcode worked as expected.

Upvotes: 10

grisVladko
grisVladko

Reputation: 161

That can happen if you use M1 Chip Mac and using older flutter versions, i had to install all pods using Rosetta. Go to terminal -> right click -> info -> use Rosetta.

Upvotes: 1

Thafer Shahin
Thafer Shahin

Reputation: 873

Make sure that the selected scheme to run is "debug"

  • Click "Runner" which is just near the simulator dropdown.
  • Edit scheme.
  • Select "Run" at the left list.
  • Select "Debug" for "Build Configuration"

Upvotes: 22

Christian
Christian

Reputation: 2194

On mac with m1

1.- Delete Podfile

In Android Studio:

2.- flutter clean
3.- flutter pub get
4.- cd ios
5.- pod install

An then

6.- Build and run your app through Xcode

this worked for me.

Upvotes: 9

mirkancal
mirkancal

Reputation: 5355

Nothing worked in my case. I was able to run the project from VSCode but I couldn't archive on XCode. I've solved via choosing the scheme.

Yes, scheme. This project have 3 different flutter flavors, a.k.a iOS schemes. I realized I can't even list the devices or simulators for this project. Issue was, I didn't choose the scheme instead of it was on default one, Runner.

By nothing, I mean everything. I've deleted podfile, podfile.lock, I've changed deployment targets, I've deleted pods folder, I've added post scripts to update dependencies to 9.0, I've tried flutter clean and pod install --repo-update.

Issue simply was not choosing the right scheme.

Upvotes: 4

Eray Hamurlu
Eray Hamurlu

Reputation: 783

go ios folder "cd ios" and run "pod install" and run again

Upvotes: 1

Salatgurke
Salatgurke

Reputation: 2184

Did you make sure that you started xcode by double clicking the "runner.xcworkspace" from your "project/ios" folder and not "runner.xcodeproj"?

According to this source, it solves the "missing module" issue for a lot of people (As it did for me). https://github.com/flutter/flutter/issues/41033

Upvotes: 125

thanhbinh84
thanhbinh84

Reputation: 18454

Make sure platform: iOS version in pod file matches with deployment info in Xcode

enter image description here

Upvotes: 159

Anuar Moldabayev
Anuar Moldabayev

Reputation: 527

  1. Delete Podfile
  2. flutter clean
  3. flutter pub get
  4. flutter build ios

It works for me!

Upvotes: 41

ITW
ITW

Reputation: 482

Have tried many things, flutter clean, revert the Podfile and etc, still facing the same issue.

Eventually get this fix by solving the issue highlighted in Xcode. You can check

https://github.com/flutter/flutter/issues/54599#issuecomment-644336055 https://github.com/flutter/flutter/issues/53573#issuecomment-749912604

Upvotes: 14

Matthias Bäuerle
Matthias Bäuerle

Reputation: 81

I had a similar issue with the following compiler output:

/Users/me/flutter_project/ios/Runner/GeneratedPluginRegistrant.m:10:9: fatal error: module 'barcode_scan' not found
    @import barcode_scan;
     ~~~~~~~^~~~~~~~~~~~

My project contains multiple build environments with Flutter flavors as described here: https://medium.com/@thomasgallinari/e7a0c973f54e

What solved the issue for me is changing the casing of the build configurations and the corresponding files from values like Debug-stage to Debug-Stage as the latter is expected by Flutter.

Upvotes: 6

Related Questions