Catalyst in Tahoe
I’m exploring macOS development, comparing Mac Catalyst apps vs native AppKit/SwiftUI apps.
- What are the main limitations of Catalyst today?
- In what scenarios is a native AppKit or SwiftUI app unavoidable?
Any insights are much appreciated — I’m trying to understand when Catalyst is sufficient and when going native is worth the extra effort.
Mac Catalyst seems dead to me. Five months since Tahoe’s official release and I still have crashes, ugly layouts and glitches that weren’t a problem pre-Liquid Glass.
I see no option other than build an entirely new SwiftUI-native Mac App.
[…]
I have a huge Foodnoms update that is almost ready, but I can’t ship it, because it would break syncing with the Mac app.
I could load up Sequoia and Xcode 16.4, but Apple is going to stop accepting binaries from 16.4 in April. And the UI compatibility plist option isn’t any better. It’s ugly AF.
Searching the forums, it seems like there a lot of new Catalyst bugs in Tahoe, but it does look like they are being fixed.
I shipped Liquid Glass in my Catalyst app and haven’t noticed any crashes or major issues. Most issues are SwiftUI regressions where I decided not to use UIKit 🥲
That pure SwiftUI on Mac idea scares me, too. So many weirdly different things. I think I’m sticking with sprinkling SwiftUI into AppKit where it’s useful to do so.
Previously:
Update (2026-03-20): Adam Bell:
Why are the toolbar icons smushed?
Why is the search bar the wrong colour?
Man, Catalyst has so many things busted on macOS 26 (even 26.2).
Toolbars just do not render correctly at all, even a simple SwiftUI app. Works fine in AppKit tho!
I can’t back that up at all, Catalyst for the most part has been rock solid for all my apps for years now; UIKit has Liquid Glass bugs across all platforms (that SwiftUI will inherit anyway), and AppKit has plenty of its own, but they are all dwindling with each point update.
I am on the Mac idiom on all my Catalyst apps though; Foodnoms is an iPad-idiom app (compatibility mode) so there may be dragons there I’m unaware of, since it uses a completely different behavioral style
I switched fully to using Catalyst for all my Mac projects and haven’t had any issues at all.
Mac native & UIKit, no compatibility mode or SwiftUI. I consider both too buggy as is, let alone combining them.
7 Comments RSS · Twitter · Mastodon
Every, EVERY Catalyst app I have, is garbage. Whether it's the technology, or the sort of people Catalyst tends to attract (iOS / Android developers looking to enter Mac development), or a combination of the two, Catalyst apps are universally janky.
Preference panels that just look like the iPad settings app, single-window-only apps with no concept that an app's windows might be distributed among multiple screens, no tear-off palettes, weird text sizings, missing items from contextual menus (Hey, Mona, put the Transformations entry into the contextual menu), window spawning that always happens dead centre of the main dispay, no matter how often you move newly spawned windows to other places, no Applescript support, no keyboard shortcuts.
MOST Catalyst apps are as bad as Mac apps, as Word 6 was, and if you're enough of a Mac greybeard, you know what a cutting insult that is. They look, feel, and operating like secondrate ports from another platform, and guess what, they largely are.
@Someone — Same here.
> Preference panels that just look like the iPad settings app, single-window-only apps with no concept that an app's windows might be distributed among multiple screens, no tear-off palettes, weird text sizings, missing items from contextual menus [...], window spawning that always happens dead centre of the main dispay, no matter how often you move newly spawned windows to other places, no Applescript support, no keyboard shortcuts.
I've also encountered apps that make their default app window's size impossible to resize. The pointer correctly changes shape when hovering around the window edges, but the drag-to-resize action is ignored. So you're either stuck with the default app window's size, or you put it in fullscreen. One such offender used to be the Prime Video app. It took Amazon a year to make the window freely resizable.
@RiccardoMori
> I've also encountered apps that make their default app window's size impossible to resize.
I have one where s function in the main window spawns another window to show its output, and if you move the main window, the second window moves along with it, as if they're both painted on a single sheet of glass.
Move the second window, the main window is left alone.
Catalyst is just bad news for VoiceOver accessibility, in almost all cases. If you can, don't. Or put in the work to test all your widgets with VoiceOver.
Imagine if all of the effort put into Catalyst and SwiftUI had actually been put into modernizing, cleaning up, and making it easier to port between AppKit and UIKit. They could have ported both frameworks from Objective-C to Swift and used modern idioms. Those 6 years of engineering effort and talent could have gone a long way!
@David Catalyst has been public almost 7 years (plus internal dev time).
Catalyst still doesn't make good Mac apps. It never will.
Catalyst apps are like those apps that just added pinstripe backgrounds in the early Mac OS X days. "How do you do fellow Mac users?"
As an X-plat strategy, Apple did *everything* except improve AppKit + Yellow Box and other porting. With iPadOS getting Temu Windowing and Temu Multitasking and a Temu MenuBar, iPad would make much more sense if it just ran macOS + AppKit (and iPadOS was killed off entirely, along with Catalyst and other failures).
At this point, I'd much rather have a half decent electron app rather than Catalyst. Heck, I'd rather have an electron app rather than whatever Apple Music is written in.