93

I have an error when I tried to launch my project on my iPhone, the basic Flutter example is working on my iPhone but when I use my project I have this error.

enter image description here

Nitneuq
  • 3,866
  • 13
  • 41
  • 64

25 Answers25

106

In Flutter project, I Also faced with this issue. Fixed by updating flutter and cocoa pods to the latest version.

Solution:-

flutter clean
rm -Rf ios/Pods
rm -Rf ios/.symlinks
rm -Rf ios/Flutter/Flutter.framework
rm -Rf ios/Flutter/Flutter.podspec
flutter pub get
cd ios
pod install 
arch -x86_64 pod install  //(On an M1 mac use => arch -x86_64 pod install)
cd ..
flutter build ios
flutter run
Lalit Fauzdar
  • 5,953
  • 2
  • 26
  • 50
Vidura Silva
  • 1,255
  • 1
  • 9
  • 13
67

You can fix it with

sudo arch -x86_64 gem install ffi
gtr Developer
  • 2,369
  • 16
  • 12
29

I got this error when I was using Firebase in flutter, the solution for me was to set the Podfile deployment target to a iOS version higher than 9.

Example: Changed this

#platform :ios, '9.0'

to

 platform :ios, '13.0'

And as @Mana commented, remember the higher the version you set, your app will not be supported for users with lower IOS versions

broderbluff
  • 410
  • 6
  • 9
18

I faced the same issue and none of the above work. Finally I resolved it by:

  1. Check ios/.symlinks/plugins contains extra plugin which you are not using.
  2. Delete podfile.lock in ios folder, if it exists.
  3. Delete podfile from ios folder.
  4. Delete pods folder in ios directory.
  5. Run flutter clean in the terminal.
  6. Run flutter pub get in the terminal.
  7. Run flutter runin the terminal.
Hafiz Inam
  • 211
  • 2
  • 4
13

2022 update

After struggling for hours the following helped me:

sudo gem uninstall cocoapods
brew install cocoapods

Make sure you have HomeBrew installed before you do the above. Steps to install HomeBrew: Install HomeBrew

7

For Mac M1, try the following commands. Worked for me fine

sudo arch -x86_64 gem install ffi
arch -x86_64 pod install
6
  1. Change directory to your project; e.g /dart/apps/abc
  2. Type, flutter clean && pod update
Jeremy Caney
  • 7,102
  • 69
  • 48
  • 77
madeinQuant
  • 1,721
  • 1
  • 18
  • 29
3

So did you solve this problem?

I met the same situation. And this is the solution I found. Link

Basically:

  • Locate Terminal.app in Finder. (Applications->Terminal.app)
  • Right-click and choose Get Info
  • Check the “Open using Rosetta”
  • Quit all instances of Terminal app and run it again
  • Run sudo gem install ffi

After you finish the above several steps, restart your IDE and re-run the application. Please give a reply if this method works.

Yang
  • 81
  • 1
  • 3
  • 1
    Yes, "Run sudo gem install ffi" resolved the issue for M1 Mac. The terminal.app is located in (Applications->Utilities->Terminal). Right clicked Terminal, Get Info, and clicked the checkbox "Open using Rosetta". Then cd'd into flutter project, run flutter clean, flutter pub get, and flutter build iOS. This resulted in a "Building a deployable iOS app requires.." notice. Then app would run in iOS simulator. Thank you. – user3151532 Nov 01 '21 at 12:24
3

I'm using VS Code and flutter 2.10.1 running intel mac

I've faced this problem several times, usually when switching between projects or when working with multiple versions of project. But the solution is pretty simple.

  1. Inside your project parent directory go to, ios -> Podfile. Here the top line will be something like this,
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'

check whatever version you are using on simulator and replace '9.0' with that and uncomment.

# Uncomment this line to define a global platform for your project
platform :ios, '15.4'
  1. Now if we try to run the flutter project, the debugger will say that the cocoapods are outdated. So just update them using command
pod repo update

And that should solve the problem.

Shubhdeep Sarkar
  • 73
  • 1
  • 1
  • 5
2
  1. Simply delete the Podfile from your project
  2. Run this command in terminal (I did in Android studio terminal it self)
sudo gem install cocoapods
  1. And then run this
pod init

It works for me..

a.ak
  • 659
  • 2
  • 12
  • 26
2

The link https://cdn.cocoapods.org does not work correctly, I had to change the source in ios/Podfile as described in the code below:

  1. Change source in ios/Podfile
# platform :ios, '9.0'

source 'https://github.com/CocoaPods/Specs.git'
  1. Clean your project
flutter clean
  1. Install referenced packages
flutter pub get
  1. Run the app

The error can also come from a package which requires a version higher than '9.0' in this case it is necessary to uncomment the line # platform :ios, '9.0' and to pass for example to version '14.0' according to the version requested by the package.

Gedeon Mutshipayi
  • 2,871
  • 3
  • 21
  • 42
1
  1. Delete the podfile.lock (located in app root > ios folder)
  2. Run in Terminal pod install --repo-update
  3. flutter run
Osama Remlawi
  • 2,356
  • 20
  • 21
1

There are multiple reasons this could occur so a one-size-fits-all solution won't exist.

Instead, in terminal, run:

$cd ios

$pod install

This will give you more in depth information on the error and you can search from there. In my case one of my dependencies required a higher minimum ios version so I had to open the .xcworkspace file and adjust the minimum deployment version in xcode>targets>general>minimum_deployments

Albert Renshaw
  • 17,282
  • 18
  • 107
  • 195
1

For me none of the above helped, the following worked on my case:

  1. Deleted the macos folder from main project.
  2. Created a dummy flutter project.
  3. Copied the newly created macos folder.
  4. Pasted it to my main project.

Additionally I use firebase plugins, so I made some changes in pod file,.. It started running.

Rajesh
  • 3,562
  • 7
  • 24
  • 43
0

I'd the same problem, in my case when I ran pod install --verbose I realize that there was an specific error during pod install

undefined method `each_child' for #Dir:0x00007ff10befa7f0 Did you mean? each_slice

Looking for this specific error I found this answer and I realize that I was using ruby 2.5 and one file generated by Flutter for iOS devices was trying to use a method that was introduced on version 2.6.

After follow the steps on that answer I could run my Flutter app on iOS simulator.

The method dir.each_child was introduced in Ruby 2.6, but you are using Ruby 2.3.0.

You should update Ruby to 2.6.0 or later 2.x version.

After Ruby updating you may also need to restart your IDE and re-install cocoapods.

Lutti Coelho
  • 2,134
  • 15
  • 31
0

Check in ios/.symlinks/plugins for unused plugins. and if there are, remove from pubspec.yml. This solved my problem.

Mesfin T
  • 1
  • 1
0

As per the install instructions make sure M1 users run. Solved the issue for me. I missed it on install!

$ sudo softwareupdate --install-rosetta --agree-to-license
Lee Casey
  • 183
  • 10
0

I solve the same issue so:

  • Delete podfile.lock in iOS-folder app
  • Run pod repo update in the terminal
  • Re-compile my code
iNiko84
  • 105
  • 1
  • 6
0

I had similar problems running flutter web on mac. Make sure you uncomment and update the podfile from macos folder not ios I'm talking about these lines:

# Uncomment this line to define a global platform for your project
platform :osx, '15.4'
idiglove
  • 325
  • 3
  • 10
0

If you want an automated script to change the deployment target, use

sed -i '' 's/9.0/10.0/' ./.ios/Podfile

where 9.0 is the generated iOS version and 10.0 the desired

on your pipeline, shell script or whatever

Rudolf J
  • 517
  • 4
  • 10
0

If anyone is struggling on M1 machines with a particular pod, the following helped me:

flutter precache --ios  
arch -x86_64 pod update Firebase/Firestore //or name of pod from the error
Marc Sanny
  • 816
  • 6
  • 12
0

Open Your Terminal paste this line of code open ~/.zshrc press Enter

if you don't have the zshrc file you will have to create it, to create it you need to open terminal paste this code touch ~/.zshrc add you flutter path and move to Second instruction

2 The Text File will open add then you add this export LANG=en_US.UTF-8

Kesselly Kamara
  • 143
  • 1
  • 6
0

I was trying to build flutter app in my M1 chip MacBook Air when I faced this issue, unfortunately the above solutions did not work for me but this did -

add to your ~/.zshrc or ~/.bashrc

export LC_ALL="en_US.UTF-8"

Reference - CocoaPods requires your terminal to be using UTF-8 encoding and it aborts to run pod

Rushiraj Parmar
  • 113
  • 2
  • 3
  • 8
0

I got this error after install in_app_purchase: ^3.1.5 in flutter for macos

I solve : Make sure that in podfile and target platform in runner the version are the same and minimum 10.14 , but maybe you try next versions for other packages error

from flutter_project_folder -> macos -> Podfile , in this file edit and first line usually "platform :osx, '10.XX'" so change to "platform :osx, '10.14'" and in xcode open macos folder in the flutter project , then in runner -> select the macos target to match as in Podfile , here i change bothed to 10.14 the version

check as below image in xcode : enter image description here

and for Podfile : enter image description here

JOH
  • 43
  • 4
-1

run this code on the terminal

sudo arch -x86_64 gem install ffi

Next, go to the ios folder in your project, and open Podfile.

Then change #platform :ios, '9.0' to platform :ios, '10.0'

Fakhriddin Abdullaev
  • 4,169
  • 2
  • 35
  • 37