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: 3 Indie Marketing Tips Using Task Local values for dependencies Will WWDC have a big impact? Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Testing push notifications on the iOS simulator Many apps support push notifications, but Xcode doesn't provide an easy way to test them in the Simulator. Your options are limited, and many developers reach out to their physical device combined with some kind of testing server. Luckily, there's a native Mac...

This week's SwiftLee Weekly covers: On-Device AI Models A single line that bricks your iPhone What happens if you don't know the answer? Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST SwiftUI ForEach Explained with Code Examples ForEach in SwiftUI is an essential element that we all use, but it can sometimes be confusing. The use of the Identifiable protocol is key, and an enumerated approach can help you make index-based adjustments for the presented content. SPONSORED What's the...

This week's SwiftLee Weekly covers: A first look at Swift 6.2 A code deprecation coming in iOS 19 Create MCP Servers in Swift Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Swift 6.2: A first look at how it’s changing Concurrency I'm currently preparing my Deep Dish Swift conference talk and diving deep into what's next for Swift Concurrency. Since Swift is open-source, we have the opportunity to look at the latest changes that are coming up next. A few of those relate to a new...