SwiftLee Weekly - Issue 243


This week's SwiftLee Weekly covers:

  • SwiftUI View Transitions
  • Expedited App Reviews
  • Debug SwiftUI Crashes

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

Mastering the @require Macro in Swift Testing

After covering the #expect macro before, we’re now ready to dive into its companion: the #require macro. While you don’t need it to write tests, it’s a game changer when it comes down to writing self-explanatory tests.

avanderlee.com

SPONSORED

Master Mobile Monitoring SwiftUI Apps

Monitor your app’s health with real-time insights into crash-free rates, start times, and more. Optimize performance and prevent user churn by addressing critical issues like app hangs, and ANRs. Learn how to keep your iOS app running smoothly across all devices by downloading this eBook.

CURATED FROM THE COMMUNITY

Creating View Transitions in SwiftUI

Explore the world of view transitions in SwiftUI with this comprehensive guide. Learn how to create smooth and engaging transitions between views, enhancing the user experience in your iOS apps. The article covers various transition types and provides practical examples to help you implement them effectively.

createwithswift.com

Minimal Manageable Migrations with Monarch

A new open-sourced framework called Monarch allows you to write efficient migrations. It’s hard to make your app’s data layer perfect for the future, so migrations are probably always needed at some point. This library might be a great outcome.

build.ms

Expedited App Reviews: When and How to Use Them

You might not even heard about expedited reviews before, but it’s a great escape route when a critical bug appears. This article provides valuable insights into when it's appropriate to request an expedited review, how to make a compelling case, and what to expect from the process.

polpiella.dev

Comprehensive Guide to Mastering KeyPath in Swift

Dive deep into the world of KeyPaths in Swift with this extensive guide. Learn how to leverage KeyPaths for more flexible and reusable code, understand their syntax and usage, and explore advanced techniques. This article is perfect for developers looking to enhance their Swift programming skills and write more efficient code.

fatbobman.com

Quick Design Feedback on your App

I’ve seen Hidde van der Ploeg do a live design roast at SwiftLeeds this month and he’s now turning this roasting into a service. It’s a great opportunity to get design critique and inspiration on how to improve your app.

tally.so

SWIFT EVOLUTION

An overview of last week's Swift Proposal state changes. Check them out when they're in review, as it's your opportunity to influence the direction of Swift's future.

QUESTION OF THE WEEK

How to debug crashes in SwiftUI?
Rajtharan Gopal

While this is a great question, it’s hard to answer completely. Each project is unique, and there are many different types of crashes. Therefore, I’d love to give a more generic answer to how I solve crashes.

Timeboxing is critical when solving crashes. You don’t want to lose yourself in a journey that doesn’t give you a quick solution. The first step would be to use AI or Google to find a fast way out. Yet, this is only possible if you clearly define the cause.

Ideally, you would be able to reproduce the crash quickly. I prefer writing a test for a crash so I can reproduce it consistently and promptly, but I also prevent the crash from returning unexpectedly in the future.

If you cannot find a quick way out, I recommend commenting out unrelated code and reproducing the crash with as minimal code as needed. This helps you to find the exact cause of the crash and likely enables you to define a better search query to find a solution.

At this point, it comes down to the type of crash. An EXC_BAD_ACCESS is common, and I wrote an article to help you solve it. Data races are also a common cause. Yet, SwiftUI-specific crashes might also relate to a particular OS version. In this case, you need to ensure you know the environment boundaries:

  • Am I running a beta that causes this? If so, check the release notes and validate whether the crash still happens on a release candidate version.
  • Is the crash consistently tight to a specific OS, country, app version, or anything else?

All these metrics combined help you reproduce the crash locally and solve it accordingly. Good luck; hopefully, these insights will help you solve crashes faster.

Want to have your question answered next week? Ask your question via this form (anonymously)

SwiftLee Weekly by Antoine van der Lee

Swift Evolution updates, 5 top community articles covering Swift development topics.

Read more from SwiftLee Weekly by Antoine van der Lee

This week's SwiftLee Weekly covers: Codex Skills for iOS Development Replay network requests inside Swift Tests LLM improvements 12 months later Enjoy this week's SwiftLee Weekly and Happy New Year! THIS WEEK'S BLOG POST Icon Composer: Transforming an AI-generated icon What do you do when you have a custom ChatGPT project for a new app idea and you need an app icon? You ask it to generate the app icon for you! I did so too, and I was happy with the result at first. That was until I found out...

This week's SwiftLee Weekly covers: The importance of being your own end user SwiftLee in 2025: A year in review NSSpain Conference videos! Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST SwiftLee in 2025: A full year as an indie developer It's that time of the year: reflecting on milestones and achievements. I can't believe the year is already coming to an end, but looking back, I'm fulfilled. In this week's article, I'm sharing my highlights and I look forward to future milestones....

This week's SwiftLee Weekly covers: SwiftAgents Giving your agents eyes Stretchable headers in SwiftUI Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST From App Idea to 10K MRR – YouTube Series How do you know whether you're building the right app idea? Which decisions do you need to make to get it to 10K Monthly Recurring Revenue (MRR)? That's exactly what I'm going to show in this new YouTube series. SPONSORED RocketSim: Build iOS apps up to 2x faster with enhanced Xcode Simulator...