Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

iOS App Development: How to get started?

Learning about iOS app development and related software allows you to create an app for iPhones, iPads, Apple Watch, or even the Apple Vision Pro. Building an app isn’t easy, but it becomes much more approachable when you know how to get started. I started developing apps in 2009 and ...
Swift

Swift Tutorials: Learn Swift with Easy-to-Follow Code Examples

Swift tutorials help you to get started building apps for Apple's platforms. The best way to learn Swift is by using easy-to-follow code examples. I've been writing apps since 2009 and witnessed the announcement of Swift at Apple's 2014 Worldwide Developers Conference (WWDC). It's no coincidence that I started this blog soon ...
Swift

SF Symbol: How to for Swift & SwiftUI

Apple introduced SF Symbols during WWDC 2019 as a big present for developers, as they're straightforward and free to use. Apple introduced several updates over the years, resulting in a library of over 6000+ symbols. All symbols are designed to integrate seamlessly with San Francisco, the system font for Apple ...
Swift

Enum explained in-depth with code examples in Swift

Enum usage in Swift: If case, guard case, fallthrough, associated values, and the CaseIteratable protocol. These terms could sound familiar if you've worked extensively with Swift enums. An enumeration defines a common type for a group of related values and enables you to work with those values in a type-safe way within your ...
Swift

MainActor usage in Swift explained to dispatch to the main thread

MainActor is a new attribute introduced in Swift 5.5 as a global actor providing an executor that performs its tasks on the main thread. When building apps, it's essential to perform UI updating tasks on the main thread, which can sometimes be challenging when using several background threads. Using the ...
ConcurrencySwift

Security-scoped bookmarks for URL access

Security-scoped bookmarks allow you to store access to a given user-selected URL. They are commonly used on macOS to store access information for a user-selected directory. Restoring the security-scoped bookmark data allows you to regain access to a folder previously selected by the user. I've been using this technique for ...
Swift

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 ...
Swift

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 ...
Swift

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 ...
ConcurrencySwift

Swift Package Manager framework creation in Xcode

Swift Package Manager (SPM) is Apple's answer for managing dependencies. We're all familiar with tools like CocoaPods and Carthage, but we'll likely all use Swift Package Manager soon instead of those. If you're deciding which package manager to use, it's recommended to start using SPM today. By switching to the ...
Swift

ChatGPT for Swift: Top 5 code generation prompts

Using ChatGPT for Swift code generation can drastically increase your productivity. While I'm uncertain whether AI will take over our jobs as developers, I'm certain developers without knowledge of using AI to their advantage will become much slower in writing code. Today, we will look at a few of my ...
OptimizationSwift