macOS by Tutorials
If you’re an iOS developer who wants to branch out into creating native macOS apps, this is the book for you!
The book is available for sale through Gumroad at macOS by Tutorials .
If you’d like to check out the start of the book including the table of contents and the first chapter, you can read it online at macOS by Tutorials Sample .
Version 2.0.1 is a minor update to address some formatting issues in the HTML and ePub versions. The content is exactly the same as in version 2.0 but for the HTML version, I have worked out how to make the table of contents into a sidebar, which works much better.
In April 2022, Kodeco published the first edition of macOS by Tutorials . Nothing stays the same in the world of Apple development, so I started to plan an update after WWDC 2023. At around that time, Kodceo was going through a transformation from being like a library to being more of an educational institution. Their focus is now on multi-modal courses and they are no longer interested in publishing books.
Kodeco agreed to transfer the rights of the macOS by Tutorials book to me, since it was out-of-catalog and since then, I have been working on an update which is almost ready for release. I had hoped to have it out before WWDC 2024, but real-life has a habit of getting in the way, and that was not possible.
Every project in this book has been updated to macOS 14 Sonoma and Xcode 15. They have also been tested using Xcode 16 beta 3.
This book is split into five sections:
Section I: Your First App: On This Day
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.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.
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.
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. While working on this app, you’ll add menu commands to change the styling of the preview and add formatting to your Markdown text.
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!
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.