iOS Dev Weekly Digest | Latest Content from the Community, Week #43
A curated collection of articles, videos, and links from top iOS blogs and YouTube channels, bringing you the latest insights and trends in iOS development.
Testing completion handler code with Swift Testing
Author: Donny Wals
Content type: Video
In this video, I dive into an interesting challenge I faced while updating my Swift Concurrency book, specifically when converting tests from XCTest to Swift Testing. While Apple’s migration guide offers solutions, I encountered a unique case involving a completion handler-based API that wasn’t fully addressed. Join me as I walk through how to handle this scenario, explain where I went wrong, and show how to use continuations to properly test asynchronous behavior in Swift.
Introducing Swift Testing. Basics.
Author: Majid
Content type: Article
Swift Testing is a new framework with expressive and intuitive APIs that improve your testing experience. It is powered by macros that allow you to organize and assert your tests. This week, we will learn about the basics of the Swift Testing framework and how we can use it side-by-side with XCTest.
SwiftUI: How To Animate Trim Modifier Parameters
Author: Core SwiftUI: Animation & Design
Content type: Video
In SwiftUI, you can animate the 'from' and 'to' parameters of the .trim() modifier to create drawing and erasing effects. Let's dive into that in this video.
How to transfer your App from one Xcode Simulator to another
Author: David Seek
Content type: Article
Effortless Xcode Simulator Transfer Guide: Learn the simple steps to seamlessly transfer your app from one Xcode Simulator to another. Perfect for developers looking to test across different devices and iOS versions without losing progress. Enhance your app development workflow with this must-know technique.
DebugDescription Macro
Author: Stewart Lynch
Content type: Video
In this video, I am going to introduce you to a new Macro that has been made available in Xcode 16 and can be used in your iOS, MacOS and other Xcode projects. It is the DebugDescription macro that can replace the CustomDebugStringConvertible protocol.
Vapor and Swift Testing: Running tests in parallel
Author: Antoine van der Lee
Content type: Article
Swift on the Server and Vapor go hand in hand, but using Swift Testing can be challenging initially. Tests run in parallel by default, and it’s likely that your tests are running against a localhost database, which requires serial execution of tests.
Running tests in parallel drastically improves performance. The performance gains are significant but even more impressive if you compare them to hitting an actual database with several required migrations that are often needed in a MySQL project. I’m building a backend using Vapor for RocketSim for Teams and recently switched to Swift Testing. It’s time to dive into the learnings from that migration.
Copy On Write and the Swift-CowBox Macro
Author: SwiftToolkit.dev
Content type: Article
You might have heard the concept of Copy On Write before, and asked yourself what it means. In a first moment it might sound cryptic, and even abstract and hard to visualize. In this post, you’ll understand what it means, how to implement Copy On Write in Swift, and also meet a great Swift macro that wraps the copy on write logic for your code.
But first, a quick recap on the difference between classes and structs to refresh our memories!
Using PreviewModifier for Quick Xcode Previews
Author: Jordan Morgan
Content type: Article
Ah, Xcode Previews. The absolute best, worst thing Apple has ever shipped for developers. When it works, which for me is around 90% of the time, it’s absolutely essential to my workflow.
Other times? It crashes, spins, indexes and loads for an eternity — and I end up sitting there and waiting for it to work again out of nothing else but pure, unadulterated spite. And, as I launch my fusillade of negative thoughts and words towards Xcode, I couldn’t help but wonder if the problem was me.
Conditional SwiftUI Accessibility Labels
Author: Keith Harrison
Content type: Article
In iOS 18, Apple added an optional isEnabled
parameter to many of the accessibility modifiers.
Security, Convenience, and Privacy
Author: Fatbobman
Content type: Article
In the digital age, security, convenience, and privacy remain perpetual challenges. According to a recent report from The Register, Apple has proposed a significant change to SSL/TLS certificate lifespans, planning to reduce them from the current 398 days to 200 days in 2025, 100 days in 2026, and ultimately to just 45 days by 2027.
Introduction to Communication Patterns in SwiftUI
Author: Mohammad Azam
Content type: Article
SwiftUI provides a powerful and declarative way to build UIs, allowing views to react to state changes automatically. However, managing communication between views, especially when passing data or events from one view to another, can be challenging if not handled properly. In this article, we’ll explore several communication patterns in SwiftUI that enable seamless data flow between views, ensuring that updates occur efficiently and in a way that aligns with SwiftUI’s architecture.
How to install the same version of Ruby and Fastlane locally and on CI/CD
Author: Pol.
Content type: Article
Fastlane is a popular Open-Source tool for automating the build, testing, and deployment of iOS and Android apps. It provides a set of tools that can be used to automate the most common tasks in the app development process. Fastlane has been a standard tool in the iOS development community for a long time as it comes with a set of pre-built actions and community plugins that make building automations for your app a breeze.
Don't write this code! (use a Swift Regex instead 😌)
Author: Vincent Pradeilles
Content type: Video
Create a button with a custom style, loader and controlled state
Author: Pkoyushev
Content type: Article
In SwiftUI, you can create a button style with a loader that will be displayed during loading. This is done using the ButtonStyle protocol.
AnyView is everywhere in Xcode 16
Author: Toomas Vahter
Content type: Article
Xcode 16 brings a new execution engine for Previews that supports a larger range of projects and configurations. Now with shared build products between Build and Run and Previews, switching between the two is instant. Performance between edits in the source code is also improved for many projects, with increases up to 30%.
Apple is Killing Swift
Author: JACOB BARTLETT
Content type: Article
Today, we’re going to learn how modern programming languages are governed. I’ll explain how Swift’s dictatorial structure is uniquely terrible, and demonstrate to you how bad the situation has become.
iOS Dev Tools: Jazzy, Concentric Onboarding, Quick
Author: IOS DEV TOOLS
Content type: Article
Working with legacy iOS code
Author: ARTJOMS VORONA
Content type: Article
Implementing Shared With You in SwiftUI
Author: ARYAMAN SHARDA
Content type: Article