How to Test Private Variables in Swift Let's take a look at how we can use Swift's Mirror class to allow access to a class's private properties from our testing target.
My iOS Development Workflow In this post, I share my workflow for ideating, developing, designing, and releasing my indie iOS apps and how I'm able to release a new app in a week.
Pull Request Checklist for iOS Developers In this article, I cover the checklist I use to ensure I create only high-quality, well-tested, and bug-free pull requests.
Functional Programming in Swift [Beginner's Guide | Swift 5 | 2021] Today, we’re going to take a look at functional programming and I’ll show you why it’s one of the best ways to write thread-safe and readable code and how it differs from your more traditional imperative programming.
Implementing Feature Flagging in iOS Today, we’re going to take a look at feature flagging in iOS. Though it’s a fairly intuitive idea, when done right, it opens the door to more robust functionality and improved app stability. Feature flagging is simply a means of hiding and showing specific features in an application
Logging In Swift [The Right Way] Today, we’re going to create a lightweight logging utility that you can use in any iOS application.
New eBook: Practical Tips for Junior iOS Developers I’ve been working hard over the last few months on a book for ambitious junior iOS engineers. Pleased to announce that it’s officially live [https://gumroad.com/l/fjTSv]! Ever since I created my first Xcode project, I’ve been maintaining a notebook where I documented everything I
Understanding How UUIDs Are Generated Introduction You’ve likely used UUIDs in projects before and assumed them to be unique. Today, we’ll take a look at the main aspects of the implementation and understand why UUIDs are practically unique, though an incredibly small potential for duplication exists. The modern-day implementation of UUIDs can be
Understanding Daemons In this article, we’ll take a closer look at daemons. We’ll understand exactly what they are, how they’re implemented, and the scope of their responsibility. Overview Simply put, a daemon (pronounced dee-mon) is an intentionally orphaned background process. Additionally, daemons are detached from the terminal in which
iOS Interview Assessment (Part 1) Over the last few weeks, I’ve been doing interviews for an iOS developer role in San Francisco. I eventually went onsite to interview with 4–5 companies in the area, but before inviting me onsite, they all gave me a take home assessment to complete. The take home assessment