A practical guide to separating game logic, scene management, and entities in an ARKit/SceneKit iOS game using GameplayKit’s entity-component system.
How to defend a shipping app against iOS 26 and 27 beta regressions
Your HealthKit completion handler reports success = YES, but no permission was ever granted. UserDefaults.standard.integer(forKey:) crashes inside App.init(). A system extension that worked all last year now fails with errno 13 for half your customers. These are not edge cases — they are real regressions that shipped in iOS 26.5 and iOS 27 beta 1,…
How to load local HTML files in WKWebView on iOS and macOS
Since iOS 13, loading local HTML via WKWebView requires the purpose-built loadFileURL(_:allowingReadAccessTo:) API. This post covers the correct approach, how to handle inter-page navigation including the /nextPage sandbox trap, and when to use WKURLSchemeHandler for same-origin-sensitive apps.
The Blast Door Design Pattern: A Secure Software Architecture
Real-life blast doors keeps fire, explosion, and radiation at bay. Designing blast doors into your system can also make it more secure, more resilient, and serves as a protective barrier from attacks.
Native vs Web: Technologies Available to Native Apps but not Web Apps
Progressive web applications have access to many features previously available only to native applications. However, there are still platform capabilities available exclusively to native applications. This article summarizes what are those.
How to Define Your Own Uniform Type Identifier (UTI)
Uniform Type Identifiers (UTIs) are a standardized way for macOS and iOS applications to identify data types. UTIs are used to identify a wide range of data types, from images and audio files to text documents. UTIs are hierarchical, allowing applications to recognize and work with related data types. Developers can define their own UTIs in their applications to provide better integration with other applications in the ecosystem.
How to Get Started with FMDB using Swift
My latest guest post for Waldo shows you how to use SQLite databases using Swift through Gus Muller’s FMDB library. Head to Waldo for the article: Getting Started with FMDB and Swift: A Guide.
SwiftUI vs. Storyboard: Which Is the Best?
Comparing SwiftUI with storyboards for iOS development – which one is better when.
How to Create an App ID
Check out my latest guest post at Waldo: How to Create an iOS App ID: 2 Quick and Easy Methods. You will learn: What an App ID is in Apple’s ecosystems. How to create App IDs. What is an App Store ID and how it relates to an App ID. How to find an App…
How to Configure Developer ID Signing in Xcode Bot
By default, Xcode Server signs binaries using a development certificate, not a distribution one. Unfortunately there is no built-in option to make it use a Developer ID certificate. What’s the solution?
Introducing macOS Notarization Automation Book
Notarization is a fully automated process, unlike going through the App Store which involves manual human review. At least it’s automated in Apple’s side. However it could consume a non-negligible amount of brain bandwidth in your side. How about automating it?
What’s New with Xcode 13 Notarization
Xcode 13 brought a new notarization tool. What is it and how much better compared to the old one?
How to Parse Notarization Tool Output
“I want a REST API for notarization since it’s impossible to parse text coming from the notarization tool reliably.” What if I say that the command line API is the best method for integration with build pipelines? Read on to find out more.
Back to the Mac: How to Notarize Disk Images for Distribution Outside the Mac App Store
Distributing macOS apps as ZIP archives has been quaint since Sierra. Today’s macOS packaging requirements mandates notarization, otherwise it would say that your app is suspicious. This often means distributing apps within disk images since this container format can be signed, notarized, and stapled.









