SwiftLee Weekly - Issue 267


This week's SwiftLee Weekly covers:

  • How .ipa files can increase app security
  • Optimizing user flows in apps
  • Flexible SwiftUI user interfaces

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

Swift Reduce: Combining elements into a single value

Reduce is a typical functional pattern, a higher-order function that combines a collection into a single value cleanly and expressively. When I looked up how often I use it in RocketSim's codebase, I was quite surprised! Way more often than expected. Yet, I did not write about this function at all, so it's time to give it some proper attention.

SPONSORED

Codemagic makes Apple M2 machines available, even on the free tier!

Codemagic is the first CI/CD to make Apple M2 machines available to everyone (including the free tier!). This is a free upgrade from M1 machines with no price change. Get started today.

CURATED FROM THE COMMUNITY

Building Better Apps with RocketSim - Special Guest Antoine van der Lee!

In just a few hours, I’ll be live on YouTube with Peter Friese (Developer Advocate at Google) to show you how to make the most of RocketSim. I can already promise you some untold background stories, so you don’t want to miss this one!
youtube.com

Using NavigationPath with TabView in SwiftUI

Combining a Tab View with a Navigation Stack is a common use case, but it comes with challenges, such as managing the navigation state across those tabs properly. This article provides guidance and demonstrates how routers can help out.
tanaschita.com

Create flexible interfaces in SwiftUI

Learn how to size a SwiftUI view relative to its nearest container to create flexible interfaces.
createwithswift.com

Supercharging SwiftUI Text with Dynamic Content Styling

I’ve often found myself trying to style text in text differently, ending up with a maze of Text combinations. This library can be a great solution to create the same in a more readable manner.
danielsaidi.com

How to inspect .ipa files and secure your iOS app from common mistakes

An .ipa file is the package format for iOS apps and can teach you what you’re shipping. The outcome allows you to increase the security of your apps.
artemnovichkov.com

ALMERE TECH MEETUP

From Side Project to Going Indie

If you're around Almere (Netherlands), I'd love to see you this Thursday in person at the Almere Tech Meetup. I'll be giving a 40-minutes talk about turning your side projects into success. See you there?

CODE SNIPPET OF THE WEEK

Swift Reduce examples

You can find this post on Twitter/X, LinkedIn, or Bluesky.

twitter profile avatar
Antoine v.d. SwiftLee 
Twitter Logo
@twannl
9:54 AM • Apr 15, 2025
1
Retweets
55
Likes

QUESTION OF THE WEEK

How do you approach optimizing user flows in apps?

You might not expect it, but I didn't do a bachelor on programming. Instead, I studied Communication and Multimedia Design (CMD) in Amsterdam. It's a study that teaches you how to optimize products for end-users.

I was able to teach myself the programming side and ended up with a perfect combination to successfully develop apps. Whenever I look at existing apps (either my own or others), I'd love to think in so-called funnels.

You define your app's key action and you determine the steps in the funnel to succeed. Each step is a crucial conversion point with potential drop offs. If you can reduce drop off in each step, you'll automatically increase the conversion into the key action.

Sounds straightforward, but it all comes down to proper telemetry. I'm often surprised to speak with developers who know their key action, know their funnel, but have no way to show me how it performs.

Finally, if you can create a flywheel into that funnel, you're setting yourself up for success. See if you can get another funnel-start for each user that completes your key action and you'll allow your app to grow exponentially. A simple example: add a share screen at the end of the funnel.

A key action could be completing level one of a game, where the share function would be to show off on socials that you did complete level one. This potentially brings in new users, who will also complete level one, and who might also share their result → flywheel.

Btw, if this sparks your interest, I go way deeper into funnels in my "From Side Project to Going Indie" course. You can now get it as a bundle when purchasing my Swift Concurrency Course. Enjoy!

Want to have your question answered next week? Ask your question via this form (anonymously) or reply to this email with your question.

EARN ROCKETSIM LIFETIME

Share and Earn RocketSim Lifetime & a 1-on-1 coaching session

Apple has recognized RocketSim as an Essential Developer Tool in the Mac App Store, and now you can get lifetime Pro access by sharing your unique referral link!

How to get started:

[RH_REFLINK GOES HERE]

Rewards:

  • Earn your first reward after just 3 sign-ups!
  • Check your progress anytime using your referral dashboard.
  • The grand prize? A personalized 1-on-1 career coaching session!

Several subscribers have already claimed their rewards—will you be next?

Thank you so much for your support, and until next Tuesday,

Antoine

SwiftLee Weekly by Antoine van der Lee

A new SwiftLee article, code snippet, Swift Evolution updates, 5 top community articles, and a weekly answer to a question from the community to level up your Swift skills.

Read more from SwiftLee Weekly by Antoine van der Lee

This week's SwiftLee Weekly covers: The end of Flutter? Losing £25,000 Time to drop support for older iOS versions? Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Sparkle: Distribution apps in- and out of the Mac App Store When I say 'Sparkle,' for some, it will immediately ring a bell. It's an open-source framework that's available since 2006 (!!) and the most used framework for macOS updates out of the App Store. This week's article might be a niche topic, but the process,...

This week's SwiftLee Weekly covers: Reverse-Engineering Xcode's Coding Intelligence prompt Speed up iOS Launch with fault ordering Running the camera in Xcode's Simulator Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST #Playground Macro: Running Code Snippets in Xcode’s canvas Xcode 26 introduces an integrated playground experience using the new #Playground macro. It's an absolute joy to experiment with your code right inside the editor. I've not been using Swift Playgrounds a lot,...

This week's SwiftLee Weekly covers: Default Actor Isolation macOS Tahoe & App Icons SwiftData or...? Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Default Actor Isolation in Swift 6.2 One of my favorite WWDC changes is the release of Swift 6.2. It comes with many updates to Swift Concurrency, including a new Default Actor Isolation build setting. In this week's article, I'll explain how it works and why it will make your migration to Swift 6+ so much easier. SPONSORED Want to Stay...