Class AMSupportURLConnectionDelegate is implemented in both
IosFlutterIos Problem Overview
I'm trying to build a flutter app on M1 mac and getting the following error.
$ flutter build ios --release
Building XXX for device (ios-release)...
Automatically signing iOS for device deployment using specified development team in Xcode project: XXX
Running pod install... 13.2s
Running Xcode build...
Xcode build done. 6.7s
Failed to build iOS app
Error output from Xcode build:
↳
objc[65074]: Class AMSupportURLConnectionDelegate is implemented in both ?? (0x1f66de518) and ?? (0x1160d82b8). One
of the two will be used. Which one is undefined.
objc[65074]: Class AMSupportURLSession is implemented in both ?? (0x1f66de568) and ?? (0x1160d8308). One of the two
will be used. Which one is undefined.
** BUILD FAILED **
Xcode's output:
↳
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
error: The linked framework 'Pods_Runner.framework' is missing one or more architectures required by this target:
armv7. (in target 'Runner' from project 'Runner')
Encountered error while building for device.
Here is my flutter doctor -v
flutter doctor -v
[✓] Flutter (Channel stable, 1.22.4, on macOS 11.0 20A2411 darwin-arm, locale en-AU)
• Flutter version 1.22.4 at /Users/mlee/development/flutter
• Framework revision 1aafb3a8b9 (3 weeks ago), 2020-11-13 09:59:28 -0800
• Engine revision 2c956a31c0
• Dart version 2.10.4
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at /Users/mlee/Library/Android/sdk
• Platform android-30, build-tools 30.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.2, Build version 12B45b
• CocoaPods version 1.10.0
[!] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] VS Code (version 1.51.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.16.0
[✓] Connected device (2 available)
! Doctor found issues in 1 category.
Ios Solutions
Solution 1 - Ios
try a simple, documented step first
In Terminal:
sudo xcode-select -r
explanation
The command resets xcode to the default path (see documentation excerpt below). This command
- resolved the issue for me and
- avoided the risk of introducing random, undocumented ideas from strangers.
These advantages make it worth trying first, especially since documented approaches typically won't interfere with future version upgrades. Experimental workarounds may need to be undone first.
documentation
% xcode-select -h
Usage: xcode-select [options]
Print or change the path to the active developer directory. This directory
controls which tools are used for the Xcode command line tools (for example,
xcodebuild) as well as the BSD development commands (such as cc and make).
Options:
-h, --help print this help message and exit
[...]
-r, --reset reset to the default command line tools path
Solution 2 - Ios
I had the same issue. I saw the same error when I ran flutter build ios
.
The error message was displayed red color on my VS code terminal, but it was kind of misleading. I found it was not the main issue.
The actual issue should be on the following error section.
So, please run flutter build ios --verbose
and read the output carefully.
In my situation, there were other issues of the failure of flutter build ios
. The issues were like forget to put in GoogleService-Info.plist
or iOS target version is less than the requirement of flutter packages.
Solution 3 - Ios
installing ffi helped me. I was stucked from last two days and then I finally found this solution.
arch -x86_64 sudo gem install ffi use this if you are using m1
sudo gem install ffi if you are intel Macs
Thanks Hope this will work.
Solution 4 - Ios
Got the same error, also on an M1 macbook. Fixed it by:
flutter clean
inside the project directory.flutter build ios
- 'Start debugging' (vs code).
Solution 5 - Ios
I was running into the same error using the M1 chip on my mac. I created a new project and realized that the new projects build settings exclude
Any IOS Simulator SDK: arm64 i386
under 'Excluded Architectures'
Solution 6 - Ios
Somehow I managed to fix the issue by removing the flutter/bin/cache
folder.
This could be a combination of other random things I did to solve this issue.
Things I've tried.
- Running the terminal using Rosetta.
- Upgrade dependency versions as well as running
flutter pub upgrade
- Remove
ios/Pods
&Podfile.lock
- Reorganise
xcconfig
files - make sure to includeGenerated.xcconfig
- I've created
base.xcconfig
and configure it with the existingPods-Runner.release.xcconfig
- I've created
This is my base.xcconfig
#include "Generated.xcconfig"
#include "Env-defaults.xcconfig"
#include "Env.xcconfig"
Solution 7 - Ios
I replaced all /app/ios files with new from fresh application created by flutter create
Solution 8 - Ios
FINALLY got it working -- here's what I had to do starting from the project root:
cd ios
rm -rf ~/Library/Caches/CocoaPods
rm -rf Podfile.lock
rm -rf Pods
rm -rf ~/Library/Developer/Xcode/DerivedData/*
Then:
pod deintegrate
pod setup
pod install
Solution 9 - Ios
For anyone running into this issue on M1 run the iTerm/Terminal from Rosetta. Follow the below commands.
Installation of Rosetta,
softwareupdate --install-rosetta
Running from Rosetta,
- Goto applications folder.
- Right click on iTerm >>
Get Info
. - Check
open using Rosetta
.
Thats it open the terminal, the issue will be fixed.
Solution 10 - Ios
Got the same issue on Macbook M1. Changed the iOS Deployment Target of the project Runner to 10.0. Fixed the issue.
Solution 11 - Ios
Normally it is working after these steps
flutter clean
flutter pub get
cd ios
pod install
cd ..
flutter build ios
This time it worked for me with an additional command flutter upgrade pub
as I was using the newer version of flutter with old pub file. I hope it may help someone using M1 processor.
Solution 12 - Ios
I solved this problem!
-
rebuild new flutter project
-
open terminal
-
move to ios directory (project)
-
pod init
-
pod install
-
modify ios/Podfile file as this content
link : https://github.com/t-sakurai816/flutter_todo_new/blob/main/ios/Podfile
Solution 13 - Ios
I tried pretty much everything yet nothing worked for me.
Except this -
Open your podfile and do the following
change
use_frameworks!
to
use_frameworks! :linkage => :static
Solution 14 - Ios
I kept running into a similar problem from React Native too on M1 and I am leaving this here if anyone might need it.
What worked for me is having to run the project from inbuilt terminal with Rosetta enabled. All the project related config, npm install and pod installs had to happen on inbuilt terminal for the error to go away
npm install
cd ios && pod install && cd ..
npm run ios
Solution 15 - Ios
Open ios/Runner.xcworkspace in xCode and try to run it on your iPhone and the error should tell you your issue.
In my case, I had to login with my apple ID in Xcode and download certificates.
Solution 16 - Ios
This was quite a journey for me to fix. I tried many things and I'm not exactly sure which one fixed it but here's what I did
First off try building the app for Android instead of iOS. This will tell you if the error is specific to iOS or if it's something else. After building for android I had the error "member not found package root". To fix this I did
flutter pub upgrade
I use Apple silicon, I ran this command
sudo gem install ffi
Along my journey of fixing this I realized I use the system ruby when I should be using homebrew installed ruby
brew install ruby
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc
uninstall all cocoapods from gem
gem list --local | grep cocoapods | awk '{print $1}' | xargs sudo gem uninstall
install cococapods from brew
brew install cocoapods
then try and rebuild your project
Solution 17 - Ios
Delete the line
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
in ios/flutter/Debug.xcconfig
Works for me
Solution 18 - Ios
My Solution for this problem was:
- Delete /flutter/iOS/Podfile & /flutter/iOS/Pods & flutter/iOS/Podfile.lock
- flutter clean
- Enjoy :)
Solution 19 - Ios
I've fixed the issue by doing this:
cd ios
pod init
pod install
hope it will work for you also
Solution 20 - Ios
It seems this error may occur due to various reasons and this 'Error output from Xcode build:' does not reflect the actual error.
I was able to fix this issue by opening ios/Runner.xcworkspace using Xcode and selecting the correct team in 'Signing & Capabilities'. Then I was able to run flutter run without getting this error
Solution 21 - Ios
If you see an additional error that states: error: no such module 'Flutterz'
, go into your AppDelegate.swift file and change import Flutterz
to import Flutter
.
After fixing above, I no longer received the AMSupportURLConnectionDelegate is implemented in both error message.
Solution 22 - Ios
I ran into the problem 2 times and it had 2 times separate root causes.
First cause was that one of the libraries I used got outdated - after upgrading from 1.x to 2.x. It was NOT visible on the pub.dev page that this plugin got outdated, only on the respective Github page. It was some Google library. Once the plugin got commented out, it worked.
The second case was way harder to find. It happened after upgrading to 2.2.0 and some of my images were suddenly not working anymore. I needed to comment them out, then the error went away. No clue why these PNGs suddenly not work anymore, but it is reproduce-able. Every time you find an image that doesn't work, run flutter clean afterwards followed by pub get and only THEN start again a build on the simulator.
Hope this helps someone, it cost me more than 5 days...
Solution 23 - Ios
For the people using M1 chips:
- In Xcode, target Runner, Go to Build Settings
- Check Architecture and select standard if arm architecture is selected.
Solution 24 - Ios
I had the same problem.
I fixed the problem:
- Rename the ios folder to ios.old
- I have created a new flutter project and copied the ios folder to my project
- I have copied the info.plist file from the ios.old folder to the new ios folder
- I think it would only be necessary to copy the images of the icons.
Solution 25 - Ios
In my case, the problem was caused by an invalid release version number, it should contain only digits, no strings
Solution 26 - Ios
If you have installed cocoapods using gem as well as home-brew also then please remove gem installed cocoapods.
On my Mac mini m1 cocoapods installed using "gem" was not working so installed from home-brew. Because of that system was having both versions. I got this same problem for every flutter command run because of this.
After removing "sudo gem uninstall cocoapods
" this error disappeared.
Solution 27 - Ios
Solution 28 - Ios
Another fix could be
flutter clean
rm -rf ios/Flutter/Flutter.framework
cd ios
pod install
Thanks to https://github.com/CocoaPods/CocoaPods/issues/7234#issuecomment-606591037
Solution 29 - Ios
In my case the solotion was to comment this line of podfile:
# platform :ios, '14.3'
Solution 30 - Ios
It has happened to me a few times. Almost always it was related to a mistyped name of an asset or pointing to a wrong asset package.
Solution 31 - Ios
I got this error when upgrading Flutter to 2.5.0-5.1.pre from 2.2.2 (also on an M1, but I don't believe this is related in my case).
Checking the Dart Analysis tab for issues, I eliminated/replaced deprecated code.
I then ran flutter pub upgrade --major-versions
to update outdated libraries.
This fixed the issue (and others) for me.
Solution 32 - Ios
After having tried all of the above mentioned solutions, the only that worked for me was:
- Delete ios folder (after having backing up)
- Create a new flutter project
- Add ios folder from that newly created project to your project
- Open xCode and add GoogleService-Info.plist from xCode
- from xCode, do all the ios related package settings
- open ios simulator
- run your flutter app from vs code (flutter run)
Solution 33 - Ios
Probably it's just an error with the iOs certificate or something like that, just remove the ios project folder (save important files first like the firebase etc..) and run
flutter create .
to create a fresh ios project.
Solution 34 - Ios
I got this error when want to run the app on my phone. I changed the Debug
to Release
in Product > Edit Scheme
section. Select my phone from VSCode then flutter run
on terminal.
You should change back to Debug
for run the app simulator again.
Solution 35 - Ios
For M1 Mac and Flutter 2.8+, following command resolves the issue:
sudo softwareupdate --install-rosetta --agree-to-license
More info here: https://github.com/flutter/flutter/wiki/Developing-with-Flutter-on-Apple-Silicon
Solution 36 - Ios
Check the platform :ios version number in Podfile & the Deploymnet Info version number in XCode. Both must be same.
Got this solution from the below source https://github.com/flutter/flutter/issues/53573#issuecomment-765013525
Solution 37 - Ios
After trying everything here and keeping so many tabs open to try to find a solution I restarted my M1 computer and it solved the problem. Since then I have had the same problem intermittently but solved it by clearing the derived data and pods and Podfile.lock and restarting the computer. I hope restarting the computer works for someone else saving some time on this issue.
Solution 38 - Ios
For me the issue was that when I was doing the setup steps for Firebase Crashlytics, I didn't remove the < > characters, just replaced googleAppId with my app ID.
$PODS_ROOT/FirebaseCrashlytics/upload-symbols --build-phase --validate -ai <googleAppId>
$PODS_ROOT/FirebaseCrashlytics/upload-symbols --build-phase -ai <googleAppId>
You might have an other issue, so go to xcode and run from there, you'll see a more detailed error message.
Solution 39 - Ios
I try all the answer mention here but none of them work for me. what work for me is going to pubspec.yaml and click pub upgrade and then re run the app and it work for me. also make sure to check the dart analysis tab after click pub upgraded as some of the package will throw error you need to updated the code for that in my case only one package which was flag showing error after pub upgrade which is fixed by looking at the updated documentation in the pub.dev of that package.
thanks have a nice day I hope this help.
Solution 40 - Ios
For my case I just opened the xcode and then built the app on my M1 and it worked just fine
Solution 41 - Ios
Summary of all answer worked for me :
arch -x86_64 sudo gem install ffi
#use this if you are using m1
sudo gem install ffi
#if you are intel Macs
Delete /flutter/iOS/Pods Delete /flutter/iOS/Podfile.lock
flutter clean
Now it works.
Solution 42 - Ios
The issue is in your "project.pbxproj", make a new react native project with the same name and copy its "project.pbxproj" content and paste it. Link your assets and it should solve your problem