Flutter build iOS got error: Requested but did not find extension point with identifier

Viewed 56602

I just upgraded to Xcode 13.3-beta, running a flutter project got this error:

Error output from Xcode build:
↳
    2022-03-02 17:45:38.148 xcodebuild[62848:6695836] Requested but did not find extension point with identifier
    Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in
    com.apple.dt.IDEWatchSupportCore
    2022-03-02 17:45:38.148 xcodebuild[62848:6695836] Requested but did not find extension point with identifier
    Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of
    plug-in com.apple.dt.IDEWatchSupportCore
    ** BUILD FAILED **

Now, I am confused, I am running a iOS app on simulator, why throughs out errors like watchOS?

And I totally don't know how to resolve this error.

Any one could help me?

37 Answers

OK, very weird but running xcrun multiple times seems to fix this. I had also updated to Xcode 13.3 recently.

xcrun -sdk iphoneos --show-sdk-path

The first time it shows the error. The second time it shows the right answer. I ran it with all three sdks, iphoneos, macosx, watchos and all showed the errors the first time. I also ran it with all five of the options for all three sdks:

xcrun -sdk iphoneos --show-sdk-path
xcrun -sdk iphoneos --show-sdk-version
xcrun -sdk iphoneos --show-sdk-build-version
xcrun -sdk iphoneos --show-sdk-platform-path
xcrun -sdk iphoneos --show-sdk-platform-version

The build error from xcodebuild went away after that, although I'm not certain which of the commands fixed it.

Fixed this by running.

xcrun -sdk macosx --show-sdk-path 

This outputs your current skd path.

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk

Add this to your .zshrc file.

export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk

Source it

source ~/.zshrc

Now run

 xcrun -sdk macosx --show-sdk-version

To avoid hard coding the version you can add this to your .profile:

export SDKROOT=$(xcrun -sdk macosx --show-sdk-path)

reload profile (source path to your profile) and run

xcrun -sdk macosx --show-sdk-version

to verify

Found solution:

  1. Check for updates of Xcode in App Store (it should be updated already, but just for confirmation)
  2. Launch Xcode; it will ask you to install additional software. After installation finishes the errors will gone.

If it's a flutter project following step can be helpful:

  • Update MacOS
  • Update Xcode and command lines tools
  • Run flutter pub upgrade, flutter pub get in the project folder
  • Delete podfile.lock in ios folder of the project
  • Run cd ios, pod repo update, pod install in the project folder

This is problem from xcode when xcode select doesn't link with CommandLineTools run below command for link it

// reset to the default command line tools path
xcode-select -r

// Link xcode-select with CommandLineTools
sudo xcode-select -s /Library/Developer/CommandLineTools

If that not working. Maybe problem from the keychain is not unlock.

You need to unlock that by

security unlock-keychain

Or with password

security unlock-keychain -p <password>

Hope this way can help you, thanks.

This issue is sadly with XCode 13.3.

This is pointed out by this answer - Stackoverflow Answer- Flutter for iOS run, build but not archive

The three solutions given were

  • Modify the code

  • Downgrade to Xcode 13.2.1

  • Wait for Apple to modify Xcode

For myself I use CodeMagic, and didn't have the luxury of downgrading my Archive. XCode could take months to update. So modifying the code was the only option. I was able to find this issue opened on March 15th 2022. Which eventually has this solution..

Open your Podfile and paste pod 'DKImagePickerController/PhotoGallery', :git => 'https://github.com/miguelpruivo/DKImagePickerController.git' as shown below:

`target 'Runner' do
use_frameworks!
use_modular_headers!
#Workaround for segmentation fault:11 while archiving
#Add the below line
pod 'DKImagePickerController/PhotoGallery', :git => 'https://github.com/miguelpruivo/DKImagePickerController.git'

flutter_install_all_ios_pods File.dirname(File.realpath(FILE))
end`

Yes I know your error said your errors were through WatchOS. However as I understand, this is an issue that occurs in version 13.3 of Xcode. In Xcode 13.3, if you have a code that uses UI_USER_INTERFACE_IDIOM(), you will get an "Out of Memory" error when you run Archive. Changing "UI_USER_INTERFACE_IDIOM()" to "UIDevice.current.userInterfaceIdiom" resolves the error. Commonly this issue occures with flutter pods using - DKImagePickerController/PhotoGallery.

I was able to fix this without touching anything Watch related. On top of this I made sure my flutter project had a minimum support level of 12, however that might be completely unrelated.

Ultimately downgrading is probably the solution. As well many of my links lead to other solutions if anyone is curious of the diving into it.

A workaround that worked for me was to install the previous stable Xcode version 13.2.1 and build it from the IDE.

You can have multiple versions installed, so you don't have to change anything in your current setup.

https://xcodereleases.com/

Check if there is some update for Xcode.

xcode-select --install

If you get the message below from the command above, try:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

  sudo rm -rf /Library/Developer/CommandLineTools
  xcode-select --install

Also, you should check if there is a macOS update available.

Click on the Apple icon no top left > About this mac > Software update (for example, macOS Monterey 12.3)

There is an error in file /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Xcode/PrivatePlugIns/IDEWatchSupportCore.ideplugin/Contents/Resources/IDEWatchSupportCore.xcplugindata

You should make its backup, then open it in plist editor and fully remove the following items:

  • Root/plug-in/extensions/Xcode.DebuggerFoundation.AppExtensionHosts.watchOS
  • Root/plug-in/extensions/Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS

In my case, its React Native app, the problem was with cocoa pods. Reinstalling pods helped. Run below in your project folder

rm -rf ios/Pods && npx pod-install

Okay, just found a solution which might sound super dumb but updating my Mac OS to Moterey 12.3 solved the issue with no change in the code required.

Got this as well when trying to run the app from Android Studio. Solved this by...

  • starting XCode,
  • open the Runner,
  • run the app from xcode,
  • stop the app in xcode, ...and then it worked fine to run the app without this error from Android Studio.

I faced the same problem when updating the project with Flutter 3. After several attempts, the below solution worked for me.

I have deleted the podfile.lock file inside the ios folder and then run the below commands.

  1. flutter pub upgrade
  2. flutter pub get
  3. cd ios
  4. pod repo update > Actually, this was an error for me but ignored it
  5. pod install

Also please make sure you are using the latest MacOS and Xcode. I hope this will help someone else.

I had the same issue , and i could solve it by removing the image picker newer package manually from the package folder and set the image picker package version to image_picker: 0.8.4 , and this solved the issue , hope it can help , maybe if you can share all the error message then i can help you .

  1. you can try install the latest xcode13.3
  2. then you can try xcode-select --install to install the command tools

Run command sudo xcode-select -s /Applications/Xcode.app

Finally, I found solution, hope this helpul for you.

Change flutter channel from stable to master

code@kazus-MacBook-Air ios %flutter channel master
code@kazus-MacBook-Air ios %flutter channel
Flutter channels:
* master
  beta
  stable

enter image description here

Also experiencing the same issue, I tried @user1503606 and @MCCCS suggestion, sadly didn't work.

Looking at this answer, the issue stems from XCode 13.3 and as @y2ducky suggests, downgrading should solve the issue.

Solutions:

  • Downgrade to Xcode 13.2.1 (you can find older versions here https://developer.apple.com/download/all/ then expand it and move Xcode (Xcode.app) to Applications folder, which will replace your current Xcode 13.)
  • Wait for Apple to modify Xcode

Using xcode version "13.2.1" works for me. Seems like "13.3" is doing something differently

Here is another one that helped me to solve this issue. Go to About this mac -> storage and remove support watchOS in Xcode developer settings.

Restart of iPhone solved the problem for me.

I brought another solution.

I tried multiple solutions which mentioned in this question, but all failed. So, I just tried from flutter starting project. It did build perfectly. After adding some libraries, the library starts to require more higher ios version.

I usually upgrade ios version by Podfile like this,

# Uncomment this line to define a global platform for your project
platform :ios, '12.0'

but, instead of that, I upgraded ios version with Runner.xcworkspace and ios/Flutter/AppframeworkInfo.plist according to this link. https://docs.flutter.dev/deployment/ios#review-xcode-project-settings

and after that, I finally succeeded to build project.

This also could be a problem with your pubspec.lock file. Some version of libraries probably trying to use Watch Support. That was the my case. So, I fixed some libraries's versions and then it worked fine.

This solution worked for me

  • Try xcode-select --install If command line developer tools were already installed try fixing it by
  • sudo xcode-select -r

My Xcode version is 13.2 and my Flutter version is 3.0.1 stable I found the solution by downgrading flutter version and upgrading again

  1. Open the terminal
  2. flutter downgrade and wait for the process to finish. Once done, go to step 3
  3. flutter upgrade and wait for the process to finish. Recompile your project when the process is finished

. I hope this solution helps people with similar issues!

After a couple of days of trying all the solutions on the internet. I finally ended up deleting the ios folder inside the project and creating it again using flutter . then Open Terminal and go to the project and do the follwing.

  • pub get
  • cd ios
  • pod install

And you can run the app now.

It could be this:

Try turning off your Apple Watch. I know... I know. I ignored it for a long time, then dug into the logs, the error messages, researched, etc.

The device name format changes when building when there's a watch involved and can sometimes hang up the Flutter tools because - well, because they're garbage and don't take that into consideration.

I basically just can't use my Apple Watch when I'm building on Flutter (some times), like at all. I have to power it down completely.

After you get a successful build, you may or not be able to turn it back on and have the builds succeed. It's hit and miss.

I get this problem every few weeks, and 100% of the time, it's my Apple Watch being on, changing the build targets that Flutter reads, presumably through Xcode.

** shrug **

In my case it was as simple as a new location added to assets within pubspec.yaml


  assets:
    - assets/images/
    - assets/images/icons # this line broke the whole project because of a missing /

What helped in my case was to run update Xcode CLI to the newest (version: 13.4.0.0.1.1651278267 ) which was only displayed with --all --install --force:

softwareupdate --all --install --force

The solution I found was:

Go to https://developer.apple.com/download/all/

Search for: Command Line Tools | Download my Xcode version 13.4.1

Install the package normally, after installation open the xcode and try the Build again.

==> Open Xcode

==> Go to Build Setting


==> Filter with FLUTTER_ROOT

==> Change FLUTTER_ROOT PATH (Put Flutter Sdk Path)

==> Flutter Clean

==> Flutter Build IOS

In my case, this is my errors

Error output from Xcode build:
↳
    2022-05-18 15:24:19.369 xcodebuild[2195:13656] Requested but did not find extension point with identifier
    Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of
    plug-in com.apple.dt.IDEWatchSupportCore
    2022-05-18 15:24:19.369 xcodebuild[2195:13656] Requested but did not find extension point with identifier
    Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension
    Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
    ** BUILD FAILED **

/Users/user/flutter/packages/flutter_tools/bin/xcode_backend.sh:12: parse error near `('
Command PhaseScriptExecution failed with a nonzero exit code

I suspect with /Users/user/flutter/packages/flutter_tools/bin/xcode_backend.sh:12

Original content:

...
function follow_links() (
    ...
)

PROG_NAME="$(follow_links "${BASH_SOURCE[0]}")"
...

I change it to

...
function follow_links() {
    ...
}

PROG_NAME="$(follow_links "$0")"
...

Then the build is successful.

My conclusion is that "Error output from Xcode build" is just a warning. Error is due to other reason. In my case, it is in xcode_backend.sh

In my case I had this error in a single project only.

The solution was to open Xcode, go to Target->Build Phases->Run Script. Disable or delete run scripts if any.

if it's error goes like,

Error: Cannot run with sound null safety, because the following dependencies don't support null safety:

run this command flutter run --no-sound-null-safety

Related