Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

Swift Computed Property: Code Examples

Computed properties are part of a family of property types in Swift. Stored properties are the most common, saving and returning a stored value, whereas computed ones are a bit different. A computed property, it’s all in the name, computes its property upon request. It can be a valuable addition to any type to add … 

 

Property Wrappers in Swift explained with code examples

Property Wrappers in Swift enable you to extract common logic into a separate wrapper object. Introduced at WWDC 2019 and available since Swift 5, this feature is a useful addition to the Swift library that helps eliminate much of the boilerplate code we often write in our projects. You can find a background story on … 

 

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 of how important concurrency in Swift is for … 

 

Global actor in Swift Concurrency explained with code examples

Swift Concurrency introduced the concept of a global actor among async/await and tasks. The most common one is likely @MainActor, which I already explained in depth. However, you can also create custom global actors. Although they have existed for a few years, it remains unclear for many developers when and how to use them. Should … 

 

Combine and Swift Concurrency: A threading risk

Many developers are migrating from Combine to Swift Concurrency. Swift Concurrency is here to stay, and Combine hasn’t received updates in recent years. While Combine is a mature framework that may not need many updates, it’s clear that the Swift team is focusing on a future with Swift Concurrency. When migrating Combine code to Swift … 

 

Threads vs. Tasks in Swift Concurrency

Are Threads the same as Tasks in Swift Concurrency? You may wonder if you’re used to writing Swift or Objective-C using Grand Central Dispatch (GCD) and traditional APIs. A so-called threading mindset has helped us develop apps that work with asynchronous functions for years. Modern concurrency uses Swift Concurrency and its async/await methodology. Instead of … 

 

Modern Swift Lock: Mutex & the Synchronization Framework

Swift offers several solutions to lock access to mutable content and prevent so-called data races. Locks like NSLock, DispatchSemaphore, or a serial DispatchQueue are a popular choice for many. Some articles compare their performance and tell you which one works best, but I’d like to introduce you to a modern Swift lock variant introduced via … 

 

Swift Concurrency & Swift 6 Course (Launch offer)

A Swift Concurrency Course that helps you learn all the fundamentals of Swift Concurrency and migrate your projects smoothly to Swift 6 strict concurrency checking. It can be intimidating to start migrating existing projects to Swift 6 and learn about async/await, sendable, and actors simultaneously. A graceful learning process can make the difference between succeeding … 

 

Sparkle: Distribution apps in- and out of the Mac App Store

By implementing Sparkle into RocketSim, I’ve been able to allow developers to install my app on macOS outside of the Mac App Store. I found out that many developers don’t like logging into an iCloud account on their work machine, making it hard to installs apps from the official App Store. Yet, I did not … 

 

#Playground Macro: Running Code Snippets in Xcode’s canvas

Xcode 26 introduced a new #Playground macro that allows you to run code snippets and preview them in Xcode’s canvas. It’s a great way to quickly experiment with code inside your projects without having to define an individual .playground file. Having this all integrated inside Xcode feels great and will make you use playgrounds way …