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.
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.
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 Transfer Applications for App Store Small Business Program Members
The App Store Small Business Program offers lowered commission cost with one big caveat: no app transfer. But apps graduating from a “hobby” into a “small business” would definitely involve transferring ownership. Read how to transfer apps without engaging in the app transfer process and losing out on the program’s benefits.
How to Pass App Store Review: Guideline 4.3 Spam
Publishing similar apps is considered spamming. Yet there are valid reasons to develop multiple apps from the same code base. Here is what you need to know to avoid being labeled as spammer by app reviewers.
How to Combine Apps into a Single Container App
It would be a big blow when Apple rejects your suite of apps, call it “spam” and tell you to move into a container app. If this is happening to you, then this article would be a solution to your predicament.
How to Unit Test Network Code in Swift
Testing network I/O code without accessing the backend is not easy. Here is how you can mock the backend by injecting code into the URL Loading System
How to Program iOS on iOS
“Do I need a Mac to program iOS?” – for a long time there is only one answer: “Yes”. But this is no longer true, as there are many ways to program iOS – including on itself. Yes, you can make apps on the device itself. Read this article to find out how.
How to Maintain Loading State in Cells
When a table view asks for a cell, often images in the cell isn’t yet available and needs to be fetched from a server – thus the cell gets a placeholder image. But static placeholders doesn’t look as good as animated ones. Unfortunately cell views gets scrolled off and re-used which makes managing animations challenging.
Clean Architecture with VIPER Sample Project for UIKit
Architecting applications to meet today’s challenges and be ready for tomorrow’s problem is not an easy feat. The principles of clean architecture may be sound, but separating the signal from the noise is tough. Here is a sample VIPER project for iOS that you can tinker to learn about the principles of clean architecture.










