20.3 · Catalyst, native AppKit and SwiftUI on the Mac, and the Mac’s sandbox and menus

There are three honest ways to put an app on the Mac. Which you choose decides how Mac-like the result feels, how much code you share, and what you can reach in the system.

Mental model. The Mac is windows, a menu bar, a pointer and a file system. The further your app strays from those, the more it will feel like a port.

Choosing an approach

Catalyst, SwiftUI and AppKit, and iPad apps on the Mac.

  1. Mac Catalyst, native AppKit, SwiftUI for macOS, or an iPad app on the Mac: how do you choose, and what changes in your code? 20.3.1 · L3
    Four routes exist. iPad app on Apple silicon Macs: an unmodified iOS or iPadOS app can run on the Mac (“Designed for iPad”), with no new target, using the iPad…

Mac conventions

Menus, windows, the sandbox and distribution.

  1. What does a Mac app need that an iOS app does not: the menu bar, windows, the App Sandbox, Hardened Runtime and notarization? 20.3.2 · L3
    A Mac app is expected to follow Mac conventions. The menu bar is the app’s command surface: an NSMenu of NSMenuItems, each with a title, an action sent down…

More in Multiplatform Apple