Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate FluentUIHostingController in iOS 16 #1690

Merged
merged 5 commits into from
Apr 7, 2023

Conversation

huwilkes
Copy link
Collaborator

@huwilkes huwilkes commented Apr 5, 2023

Platforms Impacted

  • iOS
  • macOS

Description of changes

There were some new APIs in iOS 16.4 that we could use instead of our neat swizzling, but it turns out we just don't need the whole class anymore.

Binary change

Total increase: 2,480 bytes
Total decrease: -2,160 bytes

File Before After Delta
Total 30,487,960 bytes 30,488,280 bytes ⚠️ 320 bytes
Full breakdown
File Before After Delta
ControlHostingView.o 61,712 bytes 63,600 bytes ⚠️ 1,888 bytes
__.SYMDEF 4,604,016 bytes 4,604,512 bytes ⚠️ 496 bytes
PeoplePicker.o 291,784 bytes 291,880 bytes ⚠️ 96 bytes
SearchBar.o 418,824 bytes 418,776 bytes 🎉 -48 bytes
ActivityIndicatorCell.o 80,424 bytes 80,368 bytes 🎉 -56 bytes
MSFCardNudge.o 41,016 bytes 40,912 bytes 🎉 -104 bytes
MSFNotification.o 143,600 bytes 143,488 bytes 🎉 -112 bytes
MSFAvatar.o 29,176 bytes 29,064 bytes 🎉 -112 bytes
MSFPersonaButtonCarousel.o 35,720 bytes 35,608 bytes 🎉 -112 bytes
MSFActivityIndicator.o 31,800 bytes 31,688 bytes 🎉 -112 bytes
MSFAvatarGroup.o 29,680 bytes 29,560 bytes 🎉 -120 bytes
MSFHeadsUpDisplay.o 35,056 bytes 34,928 bytes 🎉 -128 bytes
MSFPersonaButton.o 29,504 bytes 29,344 bytes 🎉 -160 bytes
MSFIndeterminateProgressBar.o 29,880 bytes 29,712 bytes 🎉 -168 bytes
FocusRingView.o 783,656 bytes 782,728 bytes 🎉 -928 bytes

Verification

Tested on iOS 14.5, 15.0, 16.0, and 16.2
Made sure not to regress the fixes added in

Visual Verification
Before After
FluentUIHosting_AvatarGroup_Before FluentUIHosting_AvatarGroup_After
FluentUIHosting_NavBar_Before FluentUIHosting_NavBar_After

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)
  • iPad Pointer interaction
  • SwiftUI consumption (validation or new demo scenarios needed)
  • Objective-C exposure (provide it only if needed)
Microsoft Reviewers: Open in CodeFlow

@huwilkes huwilkes requested a review from a team as a code owner April 5, 2023 22:22
@huwilkes
Copy link
Collaborator Author

huwilkes commented Apr 5, 2023

Looks like the nav bar in 15 regressed, investigating alternative fix

@huwilkes
Copy link
Collaborator Author

huwilkes commented Apr 6, 2023

Looks like the nav bar in 15 regressed, investigating alternative fix

Went with deprecation, and using just UIHostingController in iOS 16. Once we drop iOS 14 and 15, we should be able to just delete the file again.

@huwilkes huwilkes changed the title Remove FluentUIHostingController Deprecate FluentUIHostingController in iOS 16 Apr 6, 2023
@huwilkes huwilkes enabled auto-merge (squash) April 7, 2023 00:10
@huwilkes huwilkes merged commit 481c283 into microsoft:main Apr 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants