Project Catalyst: UIKit on the Mac is finally here!

Project Catalyst: UIKit on the Mac is finally here!

We held a WWDC Recap event at my company's office where several of the attendees to WWDC presented on what they learned while they were over in America.

I presented on Project Catalyst, Apple's new initiative to bring iPad apps to macOS. I explained how we got to this point, and what some of its current limitations and work arounds are.


Tim Oliver

June 13, 2019


  1. 1.
  2. 3.
  3. 4.
  4. 6.

    AppKit (1994) UIKit (2005) • 2 completely separate eras in

    Apple’s life • UIKit improved upon what was in AppKit • The concepts can be remarkably different • It’s not easy to share code between platforms • It’s not easy for UIKit engineers to transition to AppKit • macOS misses out on a lot of great software
  5. 8.
  6. 9.
  7. 12.
  8. 13.
  9. 14.

    Key Takeaways • Still just an iOS app. Adjusts for

    macOS. • Resizable windows means ANY screen size. • Provides hooks into AppKit. No direct access. • Scaled down to 77% screen size for parity. • All elements look like iOS by default. • Precompiled binaries need to be recompiled for `UIKitForMacOS`.
  10. 15.

    Provides hooks into AppKit. 
 No direct access? • Can

    use UIKit scenes to create copies of UIKit windows. • No way to create NSWindow objects officially. • Is it possible to make a UIKit/AppKit hybrid?
  11. 16.

    Using AppKit Bundles! Beyond the Checkbox with Catalyst and AppKit

    Steve Troughton-Smith -
  12. 17.

    Summary • Check ‘Mac’ in Xcode to begin! • Change

    view settings for native macOS appearance. • Re-consider design of elements that do not look native. • Consider using NSWindow when necessary. • Make some great apps!