Leveraging AppKit to Improve Your Catalyst App
summary
Demonstrates how a Catalyst app loads a macOS bundle to call AppKit APIs, with concrete code: add macOS bundle target, create an Objective‑C principal class, load it from UIKit and use performSelector, and fix crashes by making methods return NSNumber not Int. Builds Hyperdeck (a Markdown presentation app) and solves multiple screens, popovers-from-toolbar, cursor hiding and full‑screen presenter mode by handing UIKit’s UIWindow to NSWindow via the Dynamic package; delegates, notifications and JSON are used for cross‑runtime communication.
AI-written summary · about
chapters (5)
- 0:00Introduction and use case
- 2:57Limitations of Catalyst
- 6:14Should you add AppKit?
- 13:51How to implement AppKit
- 22:15Advanced integration
related talks
21mEffective Migration to Mac Catalyst
20mImplementing macOS-Only Features Missing on iOS with Catalyst
21mUIKit on macOS - The Holy Grail of Cross-Platform
53mRefactor Your Way Forward
28mWorking with XcodeKit
23mReducing App Launch Times: From Diagnostics to Optimization
27mA 100% SwiftUI App
36mSwiftUI Everywhere
