Can confirm that putting the below inside viewWillAppear returns iPad and mac to using the tabbar along the bottom. No need to build your own alternative tab bar. This approach causes a lot of issues if you have customised the tab bar at all.
I am gobsmacked that Apple would force such a drastic change without an option to revert. We are relying heavily on the image as part of the tab bar, as we update one of them to let the user know there has been a change. This is a core peace of our app and it just disappears without notice. We have been getting crashes from this on macs due to this. Beyond belief
if #available(iOS 18.0, *), UIDevice.current.userInterfaceIdiom == .pad {
// Both iPad and Mac, as mac is running "Designed for iPad"
traitOverrides.horizontalSizeClass = .unspecified
if ProcessInfo.processInfo.isiOSAppOnMac {
/// Fix for macOS Sequoia: without it, the tabs
/// appear twice and the view crashes regularly.
/// Hides the top tabs
self.mode = .tabSidebar
self.sidebar.isHidden = true
}
}