类 AMSupportURLConnectionGenerate 在这两个

我试图在 M1 Mac 上构建一个 flutter 应用程序,得到如下错误。

$ 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.

这是我的 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.
82087 次浏览

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.

  1. Running the terminal using Rosetta.
  2. Upgrade dependency versions as well as running flutter pub upgrade
  3. Remove ios/Pods & Podfile.lock
  4. Reorganise xcconfig files - make sure to include Generated.xcconfig
    • I've created base.xcconfig and configure it with the existing Pods-Runner.release.xcconfig

This is my base.xcconfig

#include "Generated.xcconfig"
#include "Env-defaults.xcconfig"
#include "Env.xcconfig"

I replaced all /app/ios files with new from fresh application created by flutter create

Got the same error, also on an M1 macbook. Fixed it by:

  1. flutter clean inside the project directory.
  2. flutter build ios
  3. 'Start debugging' (vs code).

Delete the line
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"

in ios/flutter/Debug.xcconfig

Works for me

My Solution for this problem was:

  1. Delete /flutter/iOS/Podfile & /flutter/iOS/Pods & flutter/iOS/Podfile.lock
  2. flutter clean
  3. Enjoy :)

I've fixed the issue by doing this:

cd ios
pod init
pod install

hope it will work for you also

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.

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

I solved this problem!

  1. rebuild new flutter project

  2. open terminal

  3. move to ios directory (project)

  4. pod init

  5. pod install

  6. modify ios/Podfile file as this content

link : https://github.com/t-sakurai816/flutter_todo_new/blob/main/ios/Podfile

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

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.

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

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

In my case the solotion was to comment this line of podfile:

# platform :ios, '14.3'

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.

Got the same issue on Macbook M1. Changed the iOS Deployment Target of the project Runner to 10.0. Fixed the issue.

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

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,

  1. Goto applications folder.
  2. Right click on iTerm >> Get Info.
  3. Check open using Rosetta.

Thats it open the terminal, the issue will be fixed.

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'

enter image description here

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...

Normally it is working after these steps

  1. flutter clean
  2. flutter pub get
  3. cd ios
  4. pod install
  5. cd ..
  6. 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.

For the people using M1 chips:

  1. In Xcode, target Runner, Go to Build Settings
  2. Check Architecture and select standard if arm architecture is selected.

I had the same problem.

I fixed the problem:

  1. Rename the ios folder to ios.old
  2. I have created a new flutter project and copied the ios folder to my project
  3. I have copied the info.plist file from the ios.old folder to the new ios folder
  4. I think it would only be necessary to copy the images of the icons.

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.

In my case, the problem was caused by an invalid release version number, it should contain only digits, no strings

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

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.

Try Selecting For install builds only in the run script in the Build phases tab.

enter image description hereI changed

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.

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.

After having tried all of the above mentioned solutions, the only that worked for me was:

  1. Delete ios folder (after having backing up)
  2. Create a new flutter project
  3. Add ios folder from that newly created project to your project
  4. Open xCode and add GoogleService-Info.plist from xCode
  5. from xCode, do all the ios related package settings
  6. open ios simulator
  7. run your flutter app from vs code (flutter run)

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.

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.

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

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

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.

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.

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

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.

For my case I just opened the xcode and then built the app on my M1 and it worked just fine

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.

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

In Latest Flutter Version 3.0.2 this problem is resolved. to upgrade write this one.

flutter upgrade --force or flutter channel stable