Skip to content

[AutomaticAssessmentConfiguration] Update bindings up to Xcode 27 Beta 3#25985

Open
dalexsoto wants to merge 1 commit into
xcode27.0from
dev/alex/xc27-aaconf
Open

[AutomaticAssessmentConfiguration] Update bindings up to Xcode 27 Beta 3#25985
dalexsoto wants to merge 1 commit into
xcode27.0from
dev/alex/xc27-aaconf

Conversation

@dalexsoto

Copy link
Copy Markdown
Member

Xcode 27 deprecates AEAssessmentConfiguration.allowsAccessibilitySpeech in favor of allowsAccessibilitySpokenContent
(API_DEPRECATED_WITH_REPLACEMENT ("allowsAccessibilitySpokenContent", ios(14.0, 27.0)) API_UNAVAILABLE(macos, macCatalyst)). Add the corresponding [Deprecated] attribute so the managed binding matches the native header and resolve the two entries in iOS-AutomaticAssessmentConfiguration.todo.

The property is bound on both iOS and Mac Catalyst ([MacCatalyst (14, 0)]), so the deprecation is applied to both platforms with an identical message. The paired Mac Catalyst [Deprecated] is required (not just iOS): the cross-assembly cecil test FindMissingObsoleteAttributes flags any API that is obsoleted on some platforms but still supported on another, so an iOS-only deprecation would leave AllowsAccessibilitySpeech supported-but-not-obsoleted on Mac Catalyst and fail that test.

Remove the now-empty iOS-AutomaticAssessmentConfiguration.todo file.

Xcode 27 deprecates AEAssessmentConfiguration.allowsAccessibilitySpeech in
favor of allowsAccessibilitySpokenContent
(API_DEPRECATED_WITH_REPLACEMENT ("allowsAccessibilitySpokenContent",
ios(14.0, 27.0)) API_UNAVAILABLE(macos, macCatalyst)). Add the corresponding
[Deprecated] attribute so the managed binding matches the native header and
resolve the two entries in iOS-AutomaticAssessmentConfiguration.todo.

The property is bound on both iOS and Mac Catalyst ([MacCatalyst (14, 0)]),
so the deprecation is applied to both platforms with an identical message.
The paired Mac Catalyst [Deprecated] is required (not just iOS): the
cross-assembly cecil test FindMissingObsoleteAttributes flags any API that is
obsoleted on some platforms but still supported on another, so an iOS-only
deprecation would leave AllowsAccessibilitySpeech supported-but-not-obsoleted
on Mac Catalyst and fail that test.

Remove the now-empty iOS-AutomaticAssessmentConfiguration.todo file.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

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 AutomaticAssessmentConfiguration bindings to match Xcode 27 Beta 3’s deprecation of AEAssessmentConfiguration.allowsAccessibilitySpeech in favor of allowsAccessibilitySpokenContent, ensuring managed API availability/obsolete metadata stays consistent with Apple headers and cross-assembly cecil checks.

Changes:

  • Add paired [Deprecated] attributes (iOS + Mac Catalyst) to AEAssessmentConfiguration.AllowsAccessibilitySpeech with a replacement message pointing to AllowsAccessibilitySpokenContent.
  • Remove the resolved xtro-sharpie todo entries by deleting the iOS-AutomaticAssessmentConfiguration.todo file.

Reviewed changes

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

File Description
src/automaticassessmentconfiguration.cs Adds iOS/MacCatalyst deprecation annotations for AllowsAccessibilitySpeech with a replacement hint.
tests/xtro-sharpie/api-annotations-dotnet/iOS-AutomaticAssessmentConfiguration.todo Removes the resolved xtro todo file now that the missing [Deprecated] annotations are in place.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ [PR Build #5265d31] Build passed (Detect API changes) ✅

Pipeline on Agent
Hash: 5265d31ff09b86183b7ea6676f149186e14450e8 [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ [PR Build #5265d31] Build passed (Build packages) ✅

Pipeline on Agent
Hash: 5265d31ff09b86183b7ea6676f149186e14450e8 [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ API diff for current PR / commit

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: 5265d31ff09b86183b7ea6676f149186e14450e8 [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ [PR Build #5265d31] Build passed (Build macOS tests) ✅

Pipeline on Agent
Hash: 5265d31ff09b86183b7ea6676f149186e14450e8 [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

🔥 [CI Build #5265d31] Test results 🔥

Test results

❌ Tests failed on VSTS: test results

1 tests crashed, 1 tests failed, 190 tests passed.

Failures

❌ monotouch tests (iOS) [attempt 3]

1 tests failed, 17 tests passed.

Failed tests

  • monotouch-test/iOS - simulator/Debug (managed static registrar): TimedOut

Html Report (VSDrops) Download

❌ Tests on macOS Golden Gate (27) tests [attempt 2]

🔥 Failed catastrophically on VSTS: test results - mac_golden_gate (no summary found).

Html Report (VSDrops) Download

Successes

✅ 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. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 17 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 18 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 18 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

Linux Build Verification

Linux build succeeded

Pipeline on Agent
Hash: 5265d31ff09b86183b7ea6676f149186e14450e8 [PR build]

@dalexsoto dalexsoto enabled auto-merge (squash) July 9, 2026 11:55
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