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.
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.
In this article, I cover the checklist I use to ensure I create only high-quality, well-tested, and bug-free pull requests.
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.
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
Today, we’re going to create a lightweight logging utility that you can use in any iOS application.
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! Ever since I created my first Xcode project, I’ve been maintaining a notebook where I documented everything I was learning. Whether it was
I’ve always wanted to localize my personal apps, but I found it to be too expensive. Since many apps share the same vocabulary (News Feed, Dashboard, Forgot Password, Take Photo), it seemed silly to pay to translate words that some other development team must have previously paid to translate.
Anyone with any programming experience understands that computers are deterministic machines. If you provide the same input, you’ll always get the same output. That’s why having computers generate something by chance is trickier than it may seem. Computers use random numbers for everything from cryptography to gambling, generative
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. OverviewSimply put, a daemon (pronounced dee-mon) is an intentionally orphaned background process. Additionally, daemons are detached from the terminal in which they’