SwiftLee Weekly - Issue 289


This week's SwiftLee Weekly covers:

  • App Store Optimization - Screenshots
  • Observation in Swift deep dive
  • Memory Integrity Enforcement

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

Introducing Diagnostics: Improved Debugging and User Support

If you've been reporting issues to me for RocketSim, you might have noticed the HTML attachment to your emails. Today, I'm telling you all about these reports and how they can streamline your app's support channel. This could be a way to reduce the number of times support reaches out to you as a developer ;-)

SPONSORED

Paywalls Made Easy

Build and test paywalls with ease using RevenueCat's new native, remotely configurable paywall templates. Learn more here.

CURATED FROM THE COMMUNITY

How to disable Liquid Glass

Let me start by saying that I think you should properly support Liquid Glass in your apps. However, if the timing is not right, you can opt out and buy yourself some time.
swiftwithvincent.com

Memory Integrity Enforcement: A complete vision for memory safety in Apple devices

In a week with new Apple Devices, it’s easy to overlook news like this. It’s impressive how far security on Apple silicon hardware can go!
security.apple.com

We Need to Talk About Observation

Observation remains a hot topic. What if Combine actually gets deprecated at some point? It’s clear to me that ObservableObject isn’t the future, but are the latest observation APIs good enough to replace it?
jaredsinclair.com

Debug crashes in iOS using MetricKit

MetricKit has existed for years now, and I even added it into Diagnostics (this week’s SwiftLee article). Yet, there aren’t many resources that go into more detail, so I recommend reading this article!
ohmyswift.com

Understanding Live Activities: visual micro-storytelling

With Live Activities now available on macOS Tahoe, it’s a great time to explore best practices for designing and building them into your apps.
createwithswift.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.

WHAT I'M WORKING ON

App Store Optimization - Screenshots

After a busy post-holiday week, full of meetings (yes, even as an indie you have meetings, ha!), I'm finally back into work-mode. It was a fun week (even spoke with the Dutch radio on the new devices Apple announced), but structure is the key to success.

With OS launch day this week, I focused heavily on improving RocketSim's App Store presence. As a Mac-only app, a few different aspects apply, but these are general tips for other stores as well.

On Mac, your first screenshot is seen the most. It shows up in the search results, so it truly has to stand out. The second and third screenshots will show up when one visits the product detail page. Equally important!

This is how I started:

Not bad, you could say. Screenshots were already updated for macOS Tahoe, since I wanted to ensure my app went live before launch day. However:

  • Nothing really stands out
  • Copy is hard to read
  • Images don't feel part of a consistent design

There wasn't a story behind it either. Well, there was—I was short on time.

It was time to go back to the drawing board, so I came up with a story for the screenshots:

  • Screenshot 1: Build trust & authority
  • Screenshot 2: Core Benefit (Aha moment)
  • Screenshot 3: Breadth & add more trust

Altogether, this resulted in the following first three screenshots:

Much more consistency, clear copy, and a compelling story that should explain more iOS developers how much impact my developer tool can have.

I've also updated the remaining 7 screenshots, which I invite you to check out in the Mac App Store as the build is already live.

This section starts to become an article and you're right: this is worth an article. I'm actually measuring performance in an interesting manner, which I'll explain next week. Stay tuned!

EARN ROCKETSIM LIFETIME

Share and Earn RocketSim Lifetime & free Swift Concurrency Course access

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:

Several subscribers have already helped me reach more developers and gained free access to RocketSim Pro and my Swift Concurrency Course — 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: Swift 6.2' new String Interpolation feature When should you use an actor? A better way of matching strings in tests You've might noticed I'm sending this out later than normally, and that's for a reason! It's Apple event day. Here are the most important links for this week: Xcode 26 RC 1 (Apple Silicon) Xcode 26 RC 1 And the most important date: September 15th is OS launch day! If you want your app's update to be available on day 1 of iOS, macOS, iPadOS,...

This week's SwiftLee Weekly covers: Dealing with Xcode migrations Debugging Swift Concurrency Controlling warnings in Swift Packages Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST @ViewBuilder usage explained with code examples It's one of the most used result builders in SwiftUI: @ViewBuilder. Even if you're new to this attribute—you're already using it if you're writing SwiftUI code. Unde SPONSORED Fastlane alternative - Codemagic CLI tools Are you tired of Ruby and Fastlane...

This week's SwiftLee Weekly covers: Raw Identifiers in Swift Using a WebView in SwiftUI Using App Intents correctly Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Swift Computed Property: Code Examples While this is a basic in Swift, there are some nice additions since recently. For example, you can now use async and typed throws in the getter of a Swift computed property. SPONSORED Full iOS coverage. Fast If your test suite is missing critical flows or isn’t up to date, you’re at...