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.
- Mac Catalyst, native AppKit, SwiftUI for macOS, or an iPad app on the Mac: how do you choose, and what changes in your code?
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.
- What does a Mac app need that an iOS app does not: the menu bar, windows, the App Sandbox, Hardened Runtime and notarization?
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
- 20.1 · Shared cores, platform conditions, capabilities, and the release train
- 20.2 · Documents, scenes and windows on iPad
- 20.4 · The focus engine, the remote and the 10-foot UI, and media-first apps
- 20.5 · Input and battery, on-watch health and networking, and the dual-target setup
- 20.6 · Windows, volumes and immersive spaces
- 20.7 · What the compiler and the runtime say about each platform
- 20.8 · The Mac sandbox, signing, bookmarks, menus and Catalyst, measured
- 20.9 · Which scenes, modifiers and spaces exist where, and how a package declares them