macOS by Tutorials is a series of epic-length tutorials where you’ll learn to build four
complete native macOS apps! Each app explores a different style of interface and takes you
step-by-step from start to finish. By the end of the book, you’ll be experienced enough to
turn your ideas into real apps you can sell! You also get full source code, image files, and
other resources you can re-use for your own projects.
This book for developers with some experience developing for iOS using Swift and SwiftUI.
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.
Begin your journey developing for macOS by building a full-featured app using SwiftUI. The app, On This Day, accesses a public network API to collect information about events, births and deaths for a given date. Along the way, you’ll learn how to manage multiple windows, add menu and toolbar commands and choose multiple display options. You’ll experience first-hand the power of SwiftUI and see just how easy it is to build an app that has all of the look and feel you expect in a macOS app.
Now that you've created your first native macOS app, what makes it better than the other possible technology choices? What are the alternatives?
Section II: Building a Menu Bar App
In this section, you’ll use AppKit to build a Pomodoro-style time tracking app that lives only in the macOS menu bar. Along the way, you’ll learn how to manage timers, update the menu in real-time, and integrate a SwiftUI view into an AppKit app. You’ll also learn about how macOS “sandboxes” apps to protect both them and the system itself.
Learn how to save and load data files, use SwiftUI in an AppKit app and deal with the Mac sandbox.
Section III: Building a Document-based App
In this section, you’ll return to using SwiftUI and explore how to build a document-based app. You’ll create a Markdown editor — there can never be enough Markdown editors in the world! — that allows you to preview your text in real time. Along the way, you’ll add menu commands to change the styling of the preview and add formatting to your Markdown text.
Add menu controls to your app. Some will adjust app-wide settings, others will focus on the active window. Open a secondary window from a menu item.
Section IV: Advanced Wizardry
Because macOS has its roots in Unix, it provides a vast array of command line tools which allow power users to perform tasks ranging from system management to image manipulation. In this section, you’ll learn how to build a graphical front-end for one such command: sips. Once you’ve built your sips GUI, you’ll enable automation to allow your new command to appear in the Services menu and Shortcuts app. When you complete this section, you, too, will be a wizard!
Your app automates complex processes, but now you'll learn how to publish Services and Shortcut intents so other automations can access these parts of your app.
Section V: Distributing Your macOS Apps
Once you’ve written your app, you’ll want to distribute it to others so they can benefit from your creativity. On macOS, you have more distribution options than you do on iOS. In this section, you’ll explore the pros and cons of those options so you can choose which is best for you.