How to plan for the iOS 27 SDK cliff: Liquid Glass, size classes, and Reality Composer Pro migrations

Apple’s annual SDK cycle keeps shipping silent breaking changes. The UIDesignRequiresCompatibility plist key is honored on Xcode 26 builds and ignored on Xcode 27 builds. iOS 27 collapses iPhone horizontal size classes to compact, breaking ten years of storyboard constraint variations with no runtime warning. Reality Composer Pro 3 imports projects from RCP 2 with…

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.