An environment and build target for compiling iOS apps to macOS.
Mac Catalyst (previously referred to as uikitformac and, unofficially, Marzipan) is an environment and build target used to compile an iPadOS app to a macOS app. This is different from running iOS apps on macs with the M1 chip (Apple Silicon macs), which is a more recent development and the iOS apps can run directly on M1 macs without porting.
As of November 2019, it can only port iPad apps. It automates the addition of desktop and windowing features needed by the desktop version of macOS. For example, tab bars on the iPad are automatically converted to toolbar segments on the Mac.
Catalyst is officially supported by Xcode 11 and macOS 10.15 and higher. With Xcode 12, it can port iPhone apps to MacOS as well.
Apple documentation is available here.
Getting Started with Catalyst
Theoretically things should be as simple as checking the "Mac" target in your iPad-compatible app target. However, some extra work usually needs to be done in order to successfully port an app.
One good way to start differentiating your iPad code-base is through the use of a Catalyst compile-time check:
#if targetEnvironment(macCatalyst)
// Code for catalyst
#endif