My Books
-
macOS Apps Step by Step Minor Update
Read More »macOS Apps Step by Step has had a minor update to version 4.1.
The book is available for purchase or update at Gumroad.
If you bought a previous edition of "macOS by Tutorials" or "macOS Apps Step by Step" from me via Gumroad, version 4.1 is a free update that you can download from your Gumroad library.
If you bought the first edition of macOS by Tutorials from either Kodeco or Amazon, please email me for a 50% discount code.
-
WWDC 2026 First Thoughts
Read More »Most years, I am deeply interested in what happens at Apple's Worldwide Developer Conference and what is announced. This year, I am on holiday in the depths of rural Queensland, Australia with very limited connectivity. At least this meant that I didn't have to wake at 3 am to watch the keynote like I usually do, although I have to confess that I wasn't that excited for this year's announcements anyway.
Thank you to everyone who posted their reactions on Mastodon as that enabled me to keep up with the major features.
I've now managed to watch most of the keynote, so I have some preliminary thoughts. I have watched none of the session videos, so deeper analysis, especially with regard to my beloved Mac app development sphere, will have to wait.
-
In Praise of SwiftUI
Read More »Recently, I have seen multiple posts on Mastodon suggesting that SwiftUI is a failure, that nobody is using it, and that Apple should have focused on improving or replacing AppKit and UIKit instead of wasting everyone's time with SwiftUI. While I have great respect for some of the people saying these things, I disagree. I love using SwiftUI, I think a large number of developers are using it, and I want to explain what I find so great about it.
Perhaps one problem was the name. Yes, it allows you to define your user interface in Swift, but so do AppKit and UIKit. For me, the part that I miss most when going back to work on an older project is the data flow and the reactive nature of SwiftUI, and that's not reflected in the name at all.
-
macOS Apprentice: 3rd Edition
Read More »The third edition of macOS Apprentice has been released!
If you're a beginner or near-beginner who wants to start learning Swift, SwiftUI and AppKit for building Mac apps, then this is the book for you.
This edition has been updated for Swift 6, macOS 26 and Xcode 26. It now includes details on using the new Icon Generator as well as major changes in the chapter that deals with embedding an AppKit view in a SwiftUI app. All the code and screenshots have been updated to reflect changes in Xcode, Swift, SwiftUI and macOS.
-
Playing in the Mac App Sandbox
Read More »Every app running on any Apple device, including a Mac, runs inside a sandbox by default. This keeps the app's data and settings isolated from other parts of the system so they cannot interfere with each other. As a Mac app developer, this is usually what you want, but sometimes the default sandbox settings do not allow your app to operate the way you need. In many cases you can work around this by adjusting the sandbox, but for some apps, you have to turn off sandboxing.
In this article, I want to walk through what the sandbox does by default, how you can configure its settings for various tasks, when you need to turn it off, and why it's actually a good idea.


