Fixing iOS 17+ breaking changes: UIRefreshControl, viewIsAppearing & testability | iOS Dev Mentoring
/😱 Are your iOS apps logging the warning "⚠️ A UIRefreshControl received offscreen beginRefreshing. Ignored." on Xcode 15+?
Read MoreSkilled, disciplined and professional iOS software development resources tailored for you
😱 Are your iOS apps logging the warning "⚠️ A UIRefreshControl received offscreen beginRefreshing. Ignored." on Xcode 15+?
Read MoreLearn how to start testing existing/legacy iOS/Swift codebases, including hard-to-test massive view controllers using singletons.
Read MoreLearn how to use the Fluent Builder Pattern to make illegal states unrepresentable in your iOS/Swift codebases.
Read MoreLearn how to apply dependency injection principles and patterns in practice - including UIKit and SwiftUI!
Read MoreLearn how to apply design principles and patterns in practice, including the SOLID principles and the Abstract Factory, Adapter, Strategy, and Dependency Injection patterns.
Read MoreLearn how to create scrollable content with SwiftUI's List view and how to implement a recursive navigation flow.
Read MoreLearn how to move logic out of SwiftUI views so you can test-drive it with fast and reliable unit tests.
Read MoreLearn how to migrate to SwiftUI incrementally as we migrate away from UIKit UIViewControllers.
Read MoreThis podcast is all about Test-Driven Development. TDD can significantly increase productivity and software quality, eliminate regressions, and contribute to developer happiness.
Read MoreDealing effectively with debt is essential to an enriching life and career. And, as software developers, we must also master the art of dealing with a special kind of debt… Tech Debt!
Read MoreFirst-class iOS engineering with Empathy, Integrity, and Economics in mind. Skilled and disciplined training for iOS professionals and teams.
I've been writing software since 1998, professionally since 2006, and on Apple platforms since 2009. I love building robust, well-engineered, and beautiful applications and coaching developers to achieve their best potential.
I'm a software engineer from Athens, Greece. My goal is to help the software industry evolve by enabling developers and companies to practice valuable techniques and build powerful and durable systems.