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 have never stopped since. I’ve …
SwiftLee in 2024: Lessons learned and achievements
Today marks the last day of 2024 making it a perfect moment to reflect and share my learnings. You’ve probably been following my weekly newsletter and might have read all 52 articles I’ve published this year. Yet, there is much more happening behind the scenes that I don’t often write about. I love sharing meta …
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 after, full of Swift tutorials. …
SwiftUI Button: Custom Styles, Variants, and Best Practices
SwiftUI allows you to create buttons in different styles, both custom and default configurations. You can define reusable button styles or quickly get started using SwiftUI modifiers specifically available for buttons. It’s essential to avoid tap gestures if possible since you’ll get a lot of accessibility support for free when using the button view element. …
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 platforms. If you remember the …
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 code. It’s essential to be …
Black Friday: 50% discount on RocketSim & Going Indie Course
It’s that time of year when once-a-year discounts are offered on all kinds of products, including RocketSim and my Going Indie course. It’s the best moment to increase your app development productivity and to kickstart your indie journey to make the most out of your side projects. Before sharing details on getting these discounts, I’d …
Contingent pricing for in-app subscriptions
Contingent pricing for in-app subscriptions creates a new way to retain and attract customers by providing discounted subscription prices to those actively subscribed to a different subscription. It’s especially interesting because it allows you to pair up with another developer’s subscription and create a cross-app bundle offering. Apple announced contingent pricing in December 2023 and …
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 @MainActor attribute will help ensure …
How to Use URLSession with Async/Await for Network Requests in Swift
URLSession allows you to perform network requests and becomes even more powerful with its async/await APIs. You can request data from a given URL and parse it into a decoded structure before displaying its data in a view. Popular frameworks like Alamofire aim to make it easier to perform requests, but for many apps, you …