Skip to content

[xcode27.0] Update bindings up to Xcode 27.0 Beta 4 for already updated up to Beta 3 Frameworks - #26271

Merged
dalexsoto merged 11 commits into
xcode27.0from
dev/alex/xc27-b4Existing
Jul 24, 2026
Merged

dalexsoto merged 11 commits into
xcode27.0from
dev/alex/xc27-b4Existing

Conversation

@dalexsoto

@dalexsoto dalexsoto commented Jul 23, 2026 •

Copy link
Copy Markdown
Member

Summary

Updates the .NET bindings for Xcode 27.0 Beta 4 across frameworks that had already been updated through Beta 3. This resolves the new XTRO discrepancies, tracks APIs Apple changed or removed between betas, and adds the native SIMD messaging support required by the new ARKit APIs.

Updated frameworks

  • AppKit
  • ARKit
  • AudioToolbox
  • AutomaticAssessmentConfiguration
  • AVFoundation
  • AVKit
  • BrowserEngineKit
  • CarPlay
  • CoreLocation
  • UIKit
  • UserNotifications

Also reviewed with no additional source changes required:

  • BackgroundAssets — the Beta 4 header changes are Swift-only.
  • WebKit — the required Beta 4 changes were already included in the Beta 4 bump.

Notable changes

  • Adds the AppKit/UIKit Writing Tools grammar APIs and UIKit reduced-resource traits.
  • Adds ARKit view-rotation APIs and their native SIMD trampolines.
  • Adds new AudioToolbox, AutomaticAssessmentConfiguration, AVFoundation, CarPlay, and CoreLocation APIs.
  • Applies new deprecations and platform availability changes in ARKit, BrowserEngineKit, and UIKit.
  • Removes AVKit and UserNotifications APIs that Apple introduced in Beta 3 and removed in Beta 4.
  • Preserves the existing Mac Catalyst exclusions for ARKit and CarPlay.

Validation

  • Full make world build passed.
  • Clean XTRO generation/classification passed with Sanity check passed.
  • Cecil tests: 112 passed, 4 skipped, 0 failed.
  • Introspection:
    • iOS 27.0: 44 passed, 0 failed.
    • tvOS 27.0: 43 passed, 0 failed.
    • macOS: 32 passed, 2 expected OS-version skips, 0 failed.
    • Mac Catalyst: all non-constructor fixtures passed; the full constructor fixture hit the documented headless TCC crash in CLLocationButton.
  • App-size tests exited successfully with 16 expected skips because they are disabled for beta Xcode releases.

dalexsoto and others added 11 commits July 23, 2026 13:05
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6d07665-a2ad-4092-b8f6-05fd274287f0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6d07665-a2ad-4092-b8f6-05fd274287f0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6d07665-a2ad-4092-b8f6-05fd274287f0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6d07665-a2ad-4092-b8f6-05fd274287f0
…eta 4

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6d07665-a2ad-4092-b8f6-05fd274287f0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6d07665-a2ad-4092-b8f6-05fd274287f0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6d07665-a2ad-4092-b8f6-05fd274287f0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6d07665-a2ad-4092-b8f6-05fd274287f0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6d07665-a2ad-4092-b8f6-05fd274287f0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6d07665-a2ad-4092-b8f6-05fd274287f0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6d07665-a2ad-4092-b8f6-05fd274287f0
@dalexsoto dalexsoto added this to the xcode27 milestone Jul 23, 2026
Copilot AI review requested due to automatic review settings July 23, 2026 20:14
@dalexsoto
dalexsoto requested a review from rolfbjarne as a code owner July 23, 2026 20:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the .NET bindings and API annotation baselines to align with Xcode 27.0 Beta 4 for frameworks that were previously updated through Beta 3, resolving various XTRO-reported gaps and adjusting the documentation known-failures list accordingly.

Changes:

  • Add/adjust bindings for new Xcode 27 APIs across UIKit/AppKit, ARKit, CarPlay, CoreLocation, AVFoundation, BrowserEngineKit, AutomaticAssessmentConfiguration, and AudioUnit.
  • Regenerate XTRO api-annotations: remove resolved *.todo files and move MacCatalyst-specific non-binding decisions into *.ignore where applicable.
  • Update Documentation.KnownFailures.txt to reflect new/removed public surface items.

Reviewed changes

Copilot reviewed 44 out of 44 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/xtro-sharpie/api-annotations-dotnet/tvOS-UserNotifications.todo Removed resolved XTRO todo entry.
tests/xtro-sharpie/api-annotations-dotnet/tvOS-UIKit.todo Removed resolved XTRO todo entries.
tests/xtro-sharpie/api-annotations-dotnet/tvOS-CoreLocation.todo Removed resolved XTRO todo entries.
tests/xtro-sharpie/api-annotations-dotnet/tvOS-AVFoundation.todo Removed resolved XTRO todo entry.
tests/xtro-sharpie/api-annotations-dotnet/macOS-UserNotifications.todo Removed resolved XTRO todo entry.
tests/xtro-sharpie/api-annotations-dotnet/macOS-CoreLocation.todo Removed resolved XTRO todo entries.
tests/xtro-sharpie/api-annotations-dotnet/macOS-AVKit.todo Removed resolved XTRO todo entry.
tests/xtro-sharpie/api-annotations-dotnet/macOS-AVFoundation.todo Removed resolved XTRO todo entry.
tests/xtro-sharpie/api-annotations-dotnet/macOS-AutomaticAssessmentConfiguration.todo Removed resolved XTRO todo entries.
tests/xtro-sharpie/api-annotations-dotnet/macOS-AppKit.todo Removed resolved XTRO todo entries.
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-UserNotifications.todo Removed resolved XTRO todo entry.
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-UIKit.todo Removed resolved XTRO todo entries.
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-CoreLocation.todo Removed resolved XTRO todo entries.
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-CarPlay.todo Removed resolved XTRO todo entries (moved to ignore).
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-CarPlay.ignore Added ignore entries for intentionally-unbound CarPlay selectors on MacCatalyst.
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-AVKit.todo Removed resolved XTRO todo entry.
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-AVFoundation.todo Removed resolved XTRO todo entry.
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-AutomaticAssessmentConfiguration.todo Removed resolved XTRO todo entries.
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-ARKit.todo Removed resolved XTRO todo entries (moved to ignore).
tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-ARKit.ignore Added ignore entries for ARKit on MacCatalyst.
tests/xtro-sharpie/api-annotations-dotnet/iOS-UserNotifications.todo Removed resolved XTRO todo entry.
tests/xtro-sharpie/api-annotations-dotnet/iOS-UIKit.todo Removed resolved XTRO todo entries.
tests/xtro-sharpie/api-annotations-dotnet/iOS-CoreLocation.todo Removed resolved XTRO todo entries.
tests/xtro-sharpie/api-annotations-dotnet/iOS-CarPlay.todo Removed resolved XTRO todo entries.
tests/xtro-sharpie/api-annotations-dotnet/iOS-BrowserEngineKit.todo Removed resolved XTRO todo entries.
tests/xtro-sharpie/api-annotations-dotnet/iOS-AVKit.todo Removed resolved XTRO todo entry.
tests/xtro-sharpie/api-annotations-dotnet/iOS-AVFoundation.todo Removed resolved XTRO todo entry.
tests/xtro-sharpie/api-annotations-dotnet/iOS-ARKitCore.todo Removed resolved XTRO todo entries.
tests/xtro-sharpie/api-annotations-dotnet/iOS-ARKit.todo Removed resolved XTRO todo entries.
tests/cecil-tests/Documentation.KnownFailures.txt Updated known-failures list for newly added/removed API docs.
src/xkit.cs Added WritingTools coordinator enums/delegates/methods for Xcode 27 updates.
src/usernotifications.cs Removed UNErrorCode.AttachmentUnsupportedType entry.
src/uikit.cs Added/updated UIKit APIs (deprecations, traits, content types, grammar checking, notifications).
src/CoreLocation/CLEnums.cs Added CLActivityType.Maritime.
src/corelocation.cs Added CLLiveUpdateConfiguration.Maritime.
src/carplay.cs Added/updated CarPlay APIs for Xcode 27.
src/browserenginekit.cs Added deprecations and corrected platform availability for BE APIs.
src/AVKit/Enums.cs Removed AVLegibleMediaOptionsMenuType.
src/AVFoundation/Enums.cs Added AVError.NotEnoughSpaceForProVideoStorageReplenishment.
src/automaticassessmentconfiguration.cs Added AEAssessmentConfiguration.AllowsAccessibilityFullKeyboardAccess.
src/AudioUnit/AUEnums.cs Added AudioUnitParameterType.Reverb2LegacyMode.
src/arkit.cs Added ARKit view-rotation-angle APIs + delegate callback; added CoreAnimation usage for CALayer.
src/appkit.cs Added NSTextField.BorderShape binding.
runtime/bindings-generator.cs Added SIMD trampoline metadata required for new ARKit marshaling signatures.

Comment thread src/usernotifications.cs
Comment on lines 40 to 44
/// <summary>The attachment could not be moved onto the system data store.</summary>
AttachmentMoveIntoDataStoreFailed,
/// <summary>The attached file is corrupt.</summary>
AttachmentCorrupt,
/// <summary>The type of the attached file is not supported.</summary>
AttachmentUnsupportedType,
/// <summary>To be added.</summary>
Comment thread src/AVKit/Enums.cs
Comment on lines 55 to 68
[NoiOS]
[NoTV]
[NoMacCatalyst]
[Native]
public enum AVRoutePickerViewButtonState : long {
Normal,
NormalHighlighted,
Active,
ActiveHighlighted,
}

[NoTV, Mac (26, 4), iOS (26, 4), MacCatalyst (26, 4)]
[Native]
public enum AVLegibleMediaOptionsMenuType : long {
Default = 0,
CaptionAppearance,
}

[NoTV, Mac (26, 4), iOS (26, 4), MacCatalyst (26, 4)]
[Native]
public enum AVLegibleMediaOptionsMenuStateChangeReason : long {
@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

❗ API diff for current PR / commit (Breaking changes)

NET (empty diffs)

✅ API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: 4568102f8fc6f20838d1cf4a992a1ab8a71d83a9 [PR build]

@dalexsoto
dalexsoto enabled auto-merge (squash) July 24, 2026 02:19
@dalexsoto
dalexsoto disabled auto-merge July 24, 2026 02:25
@dalexsoto
dalexsoto enabled auto-merge July 24, 2026 02:25
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

🚀 [CI Build #4568102] Test results 🚀

Test results

✅ All tests passed on VSTS: test results.

🎉 All 200 tests passed 🎉

Tests counts

✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 5 tests passed. Html Report (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 6 tests passed. Html Report (VSDrops) Download
✅ linker (iOS): All 15 tests passed. Html Report (VSDrops) Download
✅ linker (MacCatalyst): All 15 tests passed. Html Report (VSDrops) Download
✅ linker (macOS): All 21 tests passed. Html Report (VSDrops) Download
✅ linker (tvOS): All 15 tests passed. [attempt 2] Html Report (VSDrops) Download
✅ monotouch (iOS): All 19 tests passed. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 18 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 19 tests passed. [attempt 2] Html Report (VSDrops) Download
✅ monotouch (tvOS): All 19 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. Html Report (VSDrops) Download
✅ windows: All 3 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

macOS tests

✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sequoia (15): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Tahoe (26): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Golden Gate (27): All 5 tests passed. Html Report (VSDrops) Download

Linux Build Verification

✅ Linux build succeeded

Pipeline on Agent
Hash: 4568102f8fc6f20838d1cf4a992a1ab8a71d83a9 [PR build]

@dalexsoto
dalexsoto disabled auto-merge July 24, 2026 10:21
@dalexsoto
dalexsoto merged commit 75313a1 into xcode27.0 Jul 24, 2026
54 of 56 checks passed
@dalexsoto
dalexsoto deleted the dev/alex/xc27-b4Existing branch July 24, 2026 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants