Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

Issue 267
Apr 15, 2025

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

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.

{% if subscriber.tags contains "Purchased Concurrency Course" %} {% else %}

Swift Concurrency Course - A seamless Swift 6 Migration

Last week, several new modules became available. The course is still available for a reduced price while I'm actively working on it, so this is a great moment to get started learning while new lessons appear. 40 lessons are already available and new modules will drop in two weeks.

Will you join several hundreds of developers that already grow their concurrency skills?

{% endif %}

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.

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.

{% if subscriber.rh_reflink != blank %}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:

{{subscriber.rh_reflink}}

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?{% endif %}

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

Antoine