Catalyst by Tutorials shows you how to take all of those great apps you’ve built on iOS and run them right on macOS. But like everything else with Apple, it’s not always as straightforward as you’d like it to be. This book will show you how to design your apps to work well on macOS, what you can and can’t port between the two platforms, and any other “gotchas” to keep an eye out for when building apps under Catalyst.
This book is for developers who have a good handle on building iOS apps and want to learn how to port those apps to run on macOS as well.
What is Catalyst?
Formerly known as Marzipan to Apple insiders, Catalyst lets you extend your iPad apps to macOS. Under Catalina and Xcode 11, developers can start building their iPad apps with macOS as a target.
And we’re not just talking about grossly super-sized versions of iPad apps on your Mac; Catalyst apps will support native macOS controls and functionality, such as the familiar menu bar, support for mouse and keyboards, window resizing, proper scroll bars, Touch Bar support, and desktop-based drag and drop.
So if you’ve been hesitating to port your iPad apps to macOS because you just don’t want to have to learn to develop for the desktop, then now is your time to start!
Before You Begin
This section tells you a few things you need to know before you get started, such as what you’ll need for hardware and software, where to find the project files for this book, and more.
Catalyst is all about letting you use code you’ve written for iOS on macOS. But not just any code. At least for now, you can only run code that is written for iPad on a Mac. And because most of the code will run on both platforms, before you dive in to running your app on your Mac, there are a few things you should do to make your code ready.
In this section, you’ll take an app written to run on iPhone and adapt it to run on iPad. Then you’ll add some features to make it behave like a first-class iPad citizen. And through the magic of Catalyst, these features will make your Mac app better too!
In this chapter, you're getting your first look at the sample app that you'll be interacting with in this book.
Once you familiarize yourself with the basic functionality and architecture, you'll take your first steps toward bringing the app to macOS.
In this chapter, you'll learn how to add support for dragging photos from other apps and dropping them into your app. You'll also learn how to implement drag and drop for collection views with smooth animations and cell reordering.
In this chapter, you're taking things to the next level by making some adjustments that'll really make your app shine when running on macOS via Catalyst.
Throughout the rest of this section, you'll go deeper on several other Mac-specific features. When you're done, you'll have the makings of a world-class Mac app.
In this chapter, you'll learn to implement PointerStyleProvider and UIHoverGestureRecognizer to show a shadow effect or to change the default mouse pointer, when hovering over a diary entry in the sample app. You'll also learn to accessorize your mouse pointers using UIPointAccessory that's new in iOS 15. You’ll look at the differences between iOS/iPadOS and touch targets in macOS.