Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

JSON Parsing in Swift explained with code examples

JSON parsing in Swift is a common thing to do. Almost every app decodes JSON to show data in a visualized way. Parsing JSON is definitely one of the basics you should learn as an iOS developer. Decoding JSON in Swift is quite easy and does not require any external dependencies. The basic APIs that … 

 

@Entry macro: Creating custom environment values in SwiftUI

The @Entry macro in SwiftUI allows you to define custom environment values without writing boilerplate code. While introduced in Xcode 16, you can use it from iOS 13 and up since it’s a Swift Macro that generates backward-compatible code. The new macro can be used for environment values, as well as for transaction, container, and … 

 

App design: 5 benefits of using system components

Building custom elements and ignoring the sometimes boring system components during app design can be appealing. However, these boring elements have many benefits you might not be aware of. If you’ve read many of my technical articles, you might be surprised to hear that I’ve actually done a bachelor’s degree in Communication and Multimedia Design … 

 

Going Indie: From Side Project to Going Independent

Switching careers from having a full-time job to going fully independent after transforming multiple side projects into six-figure revenue. In March 2024, I decided to leave WeTransfer after 7,5 years, fully focusing on SwiftLee, RocketSim, and courses. The journey starts by introducing my first course, From Side Project to Going Indie, which is now available … 

 

Memory consumption when loading UIImage from disk

Memory consumption can quickly increase if you load many images from the disk using UIImage. You’ll generally load images from a remote address or via an asset catalog. However, you have bundled images in some cases, and you need to load them directly from a bundle path. In those cases, you’ll need to use UIImage … 

 

Why macOS Development is Perfect for Indie Developers

Building apps for macOS offers developers a fantastic opportunity to expand their skills, create useful utilities to solve their problems, and begin their journey as indie developers. I’ve invited Jordi Bruin to write a guest article on this topic as he launched several useful Mac applications, such as MacWhisper and MacGPT. Here’s his story: Over … 

 

Inspect network traffic using the Xcode Simulator

Inspecting network traffic is an essential skill for app developers. Several tools allow you to monitor requests going in and out of your app, each with pros and cons. When building an app, you’ll likely perform network calls to fetch data for your views. Whether you’re debugging a request failure or looking to verify an … 

 

Typed throws in Swift explained with code examples

Typed throws are new since Xcode 16 and allow you to define the type of error a method throws. Instead of handling any error, you can handle exact cases and benefit from compiling time checks for newly added instances. They were introduced and designed in Swift Evolution proposal SE-413. I encourage you to read Try … 

 

Async await in Swift explained with code examples

Async await is part of the new structured concurrency changes that arrived in Swift 5.5 during WWDC 2021. Concurrency in Swift means allowing multiple pieces of code to run at the same time. This is a very simplified description, but it should give you an idea already how important concurrency in Swift is for the … 

 

Swift 6: Incrementally migrate your Xcode projects and packages

Apple announced Swift 6 during WWDC 2024 as a major release of their programming language. It aims to create a fantastic development experience, and many of the latest features we know today are part of the road toward this major version bump. The Swift development team shared their focus areas for 2023 and released a …