From 5265d31ff09b86183b7ea6676f149186e14450e8 Mon Sep 17 00:00:00 2001 From: Alex Soto Date: Wed, 8 Jul 2026 18:25:19 -0400 Subject: [PATCH] [AutomaticAssessmentConfiguration] Update bindings up to Xcode 27 Beta 3 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> --- src/automaticassessmentconfiguration.cs | 2 ++ .../iOS-AutomaticAssessmentConfiguration.todo | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/iOS-AutomaticAssessmentConfiguration.todo diff --git a/src/automaticassessmentconfiguration.cs b/src/automaticassessmentconfiguration.cs index 1dbc3027a1ab..b1b6b62bb925 100644 --- a/src/automaticassessmentconfiguration.cs +++ b/src/automaticassessmentconfiguration.cs @@ -257,6 +257,8 @@ interface AEAssessmentConfiguration : NSCopying { [NoMac, iOS (14, 0)] [MacCatalyst (14, 0)] + [Deprecated (PlatformName.iOS, 27, 0, message: "Use 'AllowsAccessibilitySpokenContent' instead.")] + [Deprecated (PlatformName.MacCatalyst, 27, 0, message: "Use 'AllowsAccessibilitySpokenContent' instead.")] [Export ("allowsAccessibilitySpeech")] bool AllowsAccessibilitySpeech { get; set; } diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-AutomaticAssessmentConfiguration.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-AutomaticAssessmentConfiguration.todo deleted file mode 100644 index 14cf3cbc8568..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-AutomaticAssessmentConfiguration.todo +++ /dev/null @@ -1,2 +0,0 @@ -!deprecated-attribute-missing! AEAssessmentConfiguration::allowsAccessibilitySpeech missing a [Deprecated] attribute -!deprecated-attribute-missing! AEAssessmentConfiguration::setAllowsAccessibilitySpeech: missing a [Deprecated] attribute