A Microsoft open-source framework for building native device applications spanning mobile, tablet, and desktop.
There is no published .NET 10 workload in the supplied release records that confirms Xcode 27.2 support, so the supported interim configuration is to keep Xcode 27.1 beside Xcode 27.2 and select 27.1 only for .NET MAUI iOS builds.
Supported interim setup
- Download Xcode 27.1 from Apple Developer Downloads.
- Before opening it, rename the extracted application—for example,
Xcode_27.1.app—and move it to/Applications. - Keep Xcode 27.2 installed for native projects.
- Select Xcode 27.1 for MAUI builds without changing the system-wide selection:
export DEVELOPER_DIR=/Applications/Xcode_27.1.app/Contents/Developer
xcodebuild -version
dotnet build YourApp.csproj -f net10.0-ios
Use a scoped DEVELOPER_DIR rather than sudo xcode-select when possible, because it affects only that terminal or CI job. Microsoft documents side-by-side Xcode installations as the supported approach during the interval between an Apple release and a matching .NET workload release ^1^.
Do not use <ValidateXcodeVersion>false</ValidateXcodeVersion> as the production solution. It only bypasses the version check; Microsoft explicitly states that a different Xcode version remains unsupported even if compilation appears successful ^1^.
Track Xcode 27.2 support
The authoritative compatibility record is the dotnet/macios release page. It identifies the exact Xcode requirement and corresponding workload-set version for each Apple workload release ^2^.
At present, the available record ties the relevant .NET 10 Apple workload to Xcode 27.1, not 27.2. Therefore:
- Do not treat Xcode 27.2 as supported until a
dotnet/maciosrelease explicitly names it. - When that release appears, install the exact workload-set version listed in its notes rather than running an unpinned workload update.
- Validate both iOS and Android in CI before changing the repository’s pinned workload set.
A public request for prioritization should be filed or consolidated in dotnet/macios for Xcode 27.2 enablement. Include:
-
dotnet --info -
dotnet workload list - macOS and Xcode build numbers
- current and requested workload-set versions
- the App Store submission impact
- a minimal iOS build reproducer
Microsoft Q&A cannot set engineering priority or provide a release date.
Treat the Android failure as a separate regression
The MissingMethodException for HarfBuzzSharp.Font.SetVariations matches the reported MAUI Resizetizer issue where the task invokes an overload absent from the HarfBuzzSharp assembly loaded at runtime ^3^. The API itself is a real HarfBuzzSharp method ^4^; this symptom should not be attributed to Xcode.
MAUI 10.0.120 is newer than 10.0.110, but the available records do not establish that it fixes this exception or forms a supported set with the required .NET security servicing release ^5^. Before adopting it:
- Check issue
dotnet/maui#38507for a closed milestone, linked fix, and the first release containing that fix. - Install only the workload set identified by the applicable release notes.
- Test the original Android project—not merely a blank template—because the failure is triggered during resource resizing.
- Keep the workload-set version pinned in development and CI so a routine update cannot silently replace the validated combination.
If the issue does not yet identify a released fix, add your exact stack trace, affected SVG/font asset, binary log, and workload inventory to that issue. Avoid opening a duplicate unless your exception differs.
The requested combination—Xcode 27.2 support, current .NET security servicing, and a released MAUI package without the Resizetizer regression—is not confirmed by the available release records. Side-by-side Xcode 27.1 is therefore the supported iOS bridge, while dotnet/macios and dotnet/maui#38507 are the appropriate public engineering tracks for the two independent blockers.
References