Flutter build iOS got error Requested but did not find extension point with identifier
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
Introduction
This Xcode-related message usually means the iOS build environment is out of sync, not that Flutter itself is fundamentally broken. In many cases the line about an extension point is only a symptom in the log, and the real fix is to clean up Xcode selection, command-line tools, CocoaPods state, or stale build artifacts.
What the message usually means
The phrase about not finding an extension point comes from Apple tooling on macOS. It often appears when Xcode or one of its supporting components expects an IDE plugin, template, or internal extension registration that is missing or mismatched.
For Flutter developers, the usual causes are:
- Xcode was upgraded but command-line tools still point elsewhere
- Xcode has not finished first-launch setup
- DerivedData or Pods contain stale state from an older toolchain
- CocoaPods and Flutter generated files are out of sync
This is why the first debugging step is not editing Dart code. It is verifying the native toolchain.
Check the selected Xcode and finish setup
Start by confirming that the command-line tools point at the Xcode installation you actually use:
Then verify Flutter's view of the environment:
If flutter doctor reports missing iOS components, fix those first. The extension-point message often disappears after the base environment is repaired.
Clean Flutter, Pods, and Xcode caches
If Xcode selection is correct, the next step is to rebuild the iOS workspace from a clean state:
The sequence matters:
- remove stale Flutter build output
- remove old CocoaPods artifacts
- regenerate dependencies
- reinstall pods
After that, open the workspace rather than the project file:
Building from Runner.xcworkspace ensures CocoaPods integration is actually loaded.
Distinguish the noisy message from the real failure
One trap is assuming the extension-point line is always the root cause. Xcode logs can contain warnings from IDE subsystems even when the real failure is elsewhere, such as:
- a code signing problem
- an incompatible iOS deployment target
- a broken podspec
- a Swift compiler error in a plugin
That means you should scan the surrounding log, not only the first unusual line. If the build fails later on a linker or signing step, the extension-point text may be incidental.
Plugin and version alignment
Flutter iOS builds depend on several moving parts being compatible at the same time:
- Flutter SDK version
- Xcode version
- CocoaPods version
- iOS plugin versions
If the project was created on an older machine, updating dependencies may help:
If that still fails, try building once directly in Xcode. Native diagnostics are sometimes clearer there than in a Flutter CLI log.
Common Pitfalls
The biggest mistake is opening Runner.xcodeproj instead of Runner.xcworkspace. If CocoaPods are involved, the project file alone is not the full build graph.
Another mistake is mixing a beta Xcode installation with command-line tools from a stable release, or the reverse. That mismatch produces many confusing messages.
It is also easy to over-focus on the extension-point wording and ignore the actual fatal error several lines later. Always identify the first real compile, signing, or linker failure.
Finally, do not skip xcodebuild -runFirstLaunch after installing or upgrading Xcode on a fresh machine. Flutter depends on a working native toolchain, and incomplete Xcode setup causes many downstream errors.
Summary
- The extension-point message is usually an Xcode environment problem, not a Dart problem.
- Verify
xcode-select, accept the Xcode license, and complete first-launch setup. - Clean Flutter output, Pods, and Xcode DerivedData, then reinstall pods.
- Open
Runner.xcworkspace, notRunner.xcodeproj, when CocoaPods are involved. - Read the full build log because the extension-point message is often noise and not the final cause.

