TL;DR — Native macOS development in 2026 is in a better place than it has been in a decade. SwiftUI is finally production-ready, AppKit interop is smooth, and the Mac App Store sandbox is workable for most consumer apps. Wallnetic — our live wallpaper engine on the Mac App Store — taught us where the rough edges still are.
SwiftUI is finally enough
SwiftUI on macOS spent its first four years as a beta-quality framework that ambitious devs adopted and then quietly fell back to AppKit for the parts that mattered. In 2026 that calculus has flipped: SwiftUI handles most of the app, AppKit fills the gaps. NSViewRepresentable and the new SwiftUI customizations cover window chrome, toolbar behaviors and menu bar items that previously required full AppKit subclassing.
Wallnetic’s architecture
Wallnetic is a native macOS live wallpaper engine. The UI is SwiftUI. The rendering pipeline — drawing live wallpapers across multiple displays at the system desktop level — is Metal. The bridge between system-level windowing (private APIs would have been easier) and App Store sandbox compliance was the hardest engineering work in the entire project.
Sandbox lessons
- Choose your entitlements early. Each entitlement is reviewed independently by App Store reviewers. Adding one late means another review cycle.
- Avoid temporary-exception entitlements. They work, but reviewers scrutinize them and the path to approval is slow.
- File access is the hardest constraint. Security-scoped bookmarks, user-selected files, and the inability to walk directories the way command-line tools can.
- Network access has its own entitlements. Outgoing connections need
com.apple.security.network.client; servers neednetwork.server. - App Group sharing is the right way to share state between a main app and helper processes — much cleaner than file-based IPC.
The Mac App Store as distribution channel
Apple takes a cut, but the channel buys things direct distribution does not: trust signals for users who would never run a downloaded binary, automatic updates, family sharing, refund handling and the surface area of being searchable on the App Store. For Wallnetic — a consumer utility — that mattered more than the 15% / 30%.
Things that still hurt
- Review unpredictability. Two near-identical builds can get one approved and one rejected. Plan release windows with slack.
- App Store Connect quirks. Screenshot specs change, metadata characters get stripped, version-not-available errors are still common.
- Notarization separate from App Store review. If you ship outside the store too, you maintain two release pipelines.
- Documentation gaps for system-level surfaces. Desktop, screen savers, menu extras — all still under-documented. Stack Overflow and Apple Developer Forums are where the real knowledge lives.
Recommendation for new projects
Start in SwiftUI. Use AppKit only where SwiftUI hits a wall. Choose Mac App Store distribution unless your app needs sandbox-incompatible capabilities. Plan for two review cycles to first release. Budget time for App Store Connect operations — they are not zero.
Frequently asked questions
SwiftUI or AppKit for new macOS apps in 2026?
SwiftUI as the default, AppKit for surfaces SwiftUI cannot reach — window chrome customization, complex toolbar behaviors, custom drag-and-drop. SwiftUI on macOS is finally production-ready for typical apps.
Is the Mac App Store worth the friction?
Yes for consumer apps and developer tools — App Store distribution buys trust, automatic updates and frictionless install. No for enterprise-only or niche pro apps where direct distribution lets you skip sandbox restrictions.
Working on something similar?
T-Square is an independent software engineering studio. We architect, build and operate production-grade systems for learning, AI and custom software products. Talk to a senior engineer if you’d like a second opinion on your architecture or roadmap.