You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[macOS] Initial implementation of message bar for macOS #2251 moved the NSFont extensions into the common target behind canImport(AppKit). That condition also succeeds for Mac Catalyst even though the required AppKit font APIs are unavailable there.
This change:
Excludes the AppKit-specific NSFont extensions from Mac Catalyst.
Excludes the UIUpdateLink-based SheetAnimator implementation from Mac Catalyst.
Marks the custom spring animator APIs as unavailable on Mac Catalyst.
Uses the existing UIViewPropertyAnimator path for bottom-sheet animations on Mac Catalyst.
Existing iOS and visionOS behavior remains unchanged.
Binary change
No meaningful binary-size impact is expected. This change only adjusts platform-specific compilation.
Verification
Verified that the FluentUI scheme builds for the generic Mac Catalyst destination in Release configuration.
Visual Verification
Not applicable; this is a build compatibility change with no intended visual impact.
Pull request checklist
This PR has considered:
Light and Dark appearances
iOS supported versions (all major versions greater than or equal current target deployment version)
VoiceOver and Keyboard Accessibility
Internationalization and Right to Left layouts
Different resolutions (1x, 2x, 3x)
Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)
One possible follow-up would be to hide the platform conditionals behind a small facade in BottomSheetController. The shared call sites could invoke helpers such as startCustomSpringAnimationIfSupported, setHighFrameRateIdleIfSupported, and completeCustomSpringAnimationIfNeeded, with the Mac Catalyst implementation falling back or doing nothing as appropriate.
That would keep the #if !targetEnvironment(macCatalyst) checks localized around the unsupported animator rather than distributing them through the controller’s animation flow. I kept this PR focused on the minimal build fix, but I could do that refactor maintainers would prefer to include it here.
I think Apple's documentation is wrong. The header in the Catalyst SDK explicitly marks UIUpdateLink as API_UNAVAILABLE(macCatalyst) and the compiler seems emit an error if it is referenced or constructed.
We could probably rebuild this using CADisplayLink for Catalyst while retaining UIUpdateLink on iOS/visionOS. That feels a bit unnecessary to me based on the Catalyst usage, but open to feedback.
This branch has not been deployed
No deployments
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Platforms Impacted
Description of changes
Fixes compilation of the FluentUI Swift package for Mac Catalyst.
Mac Catalyst compilation regressed after:
UIUpdateLink-based custom bottom-sheet animator, which is unavailable on Mac Catalyst.NSFontextensions into the common target behindcanImport(AppKit). That condition also succeeds for Mac Catalyst even though the required AppKit font APIs are unavailable there.This change:
NSFontextensions from Mac Catalyst.UIUpdateLink-basedSheetAnimatorimplementation from Mac Catalyst.UIViewPropertyAnimatorpath for bottom-sheet animations on Mac Catalyst.Existing iOS and visionOS behavior remains unchanged.
Binary change
No meaningful binary-size impact is expected. This change only adjusts platform-specific compilation.
Verification
Verified that the
FluentUIscheme builds for the generic Mac Catalyst destination in Release configuration.Visual Verification
Not applicable; this is a build compatibility change with no intended visual impact.
Pull request checklist
This PR has considered:
No changes to appearance, accessibility, localization, layout, pointer interaction, SwiftUI consumption, or Objective-C exposure are expected.
Microsoft Reviewers: Open in CodeFlow