S02E21: Migrating to Swift 5.2 and CI with GitHub Actions | Professional iOS Engineering Series
/In this episode, we migrate the Quiz project to Swift 5.2 and Xcode 11.4.1. And the CI server to GitHub Actions.
Read MoreSkilled, disciplined and professional iOS software development resources tailored for you
In this episode, we migrate the Quiz project to Swift 5.2 and Xcode 11.4.1. And the CI server to GitHub Actions.
Read MoreIn this episode, we finish the migration and have an overview of the new iOS Quiz app architecture.
Read MoreIn this episode, we finish migrating the UINavigationController router and the iOS AppDelegate classes to the new `QuizDelegate` protocol.
Read MoreIn this episode, you'll see how we make the iOS UINavigationController Router class implement the new `QuizDelegate` protocol.
Read MoreIn this episode, we continue migrating the iOS View Controller Factory to the new APIs.
Read MoreIn this episode, you'll see how we use `map` and lazy evaluation to migrate the iOSViewControllerFactory initializer in small steps, without altering the class functionality.
Read MoreIn this episode, you'll see how to move deprecated dependencies from high-level to lower-level modules as we finish refactoring the `ResultsPresenter`.
Read MoreIn this episode, you'll see how to change a Swift struct memberwise initializer while maintaining backward compatibility as we refactor the Quiz ResultsPresenter.
Read MoreIn this episode, you'll see how to replace a procedural scoring implementation that relies on a temporary mutable variable with a more functional approach using Swift's `zip` and `reduce` functions (no mutation!).
Read MoreIn this episode, you'll see how to test-drive a basic Quiz scoring function from scratch. By extracting the scoring functionality from the QuizEngine, the framework's clients can now create custom scoring implementations tailored to their business logic.
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.