SwiftLee Weekly - Issue 307


This week's SwiftLee Weekly covers:

  • AI Prompts for network requests
  • ​@_exported import VS public import​
  • Universal Links at scale

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

11 Things I learned after using AI Agents full-time

This article has been awaited by many of you. I constantly postponed writing about my workflow since I felt like I was still learning, I wasn't ready to recommend anything yet. The reality is that I'm learning more than ever, and this won't stop. Therefore, I decided to check-in with you today, to teach you what I've learned so far.

SPONSORED

Fastlane alternative - Codemagic CLI tools

Are you tired of Ruby and Fastlane installation issues? There's got to be a better way! Discover Codemagic open source CLI tools. It is not a drop-in replacement for all of what Fastlane does (screenshots for example), but we use it at Codemagic to build and publish iOS and Android apps, also versioning and device provisioning. View on GitHub.

CURATED FROM THE COMMUNITY

The Magic Behind UUID() in Swift, How Your App Generates Truly Unique Identifiers

I’ve been using UUIDs for a long time, but really didn’t know how they work behind the scenes. Thanks to this detailed post by Omar Elsayed, I finally know!
swiftdifferently.com

Foundation Models Prompting Guide

Writing code to use Foundation Models is one thing, but properly prompting is a whole other skill. Artem Mirzabekianis here to help you out.
livsycode.com

@_exported import VS public import

I honestly never think about access levels for my imports, but I realize that’s mostly a knowledge problem. This article by Alexander Weiss helped me revisit this behavior.
alexanderweiss.dev

Universal Links At Scale: The Challenges Nobody Talks About

You’re happy to finally get them working, you test them using RocketSim, but that’s only the beginning. I recognize these issues from my time at WeTransfer, and I’m happy that Alberto De Bortoli is sharing their solutions with us.
albertodebortoli.com

Swift Compiler Changes the Easy Way

What if you run into an annoying issue that costs you hours to fix? You spent 18 months getting a PR merged and improving the Swift compiler. Or at least, that’s what Matt eventually did, and he’s sharing his story with us.
massicotte.org

Defining custom string interpolation behavior in Swift

It’s these neat little extensions that sometimes can make a big impact in the beauty of Swift we write. Thanking Natalia Panferova for this tip!
nilcoalescing.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

The future of RocketSim

Related article: Introducing AI prompts and recording metadata.

More and more teams are finding their way to RocketSim. Our churn is low, and many clients renew with more seats. The biggest team using RocketSim is now using 150+ seats and counting.

It's clear that we have a purpose in the app development ecosystem, but I also don't want to stop here. I've been researching a lot last week on where to go next. I mention a RocketSim CLI before, RocketSim MCP, I've been exploring deeplinks for AI tools to execute, there's a lot!

My goal is to let RocketSim connect the Simulator to AI development tools like Cursor. There are many open-source frameworks for this, or MCP servers to use, but I feel like we have a unique position. We're sandboxed, in the App Store, and we already have data like build insights and networking requests stored locally.

The first result of this research is an actual feature that's available in the latest release. The Network Monitor now allows you to export the network requests from the current session into a prompt, ready to use in an AI Agent of choice.

The network requests are redacted, leaving only the minimal required information in the prompt. This reduces tokens, but also prevents leaking API keys, auth tokens, or user data into agents.

Obviously, the next step would be to serve this data through something like an MCP server. I'm exploring the latter, but meanwhile, I'm preparing the app for the future of RocketSim.

UNTIL NEXT TIME

Continue your Swift development journey

I hope you've enjoyed this week's content. You don't have to wait till next Tuesday for more insights, I share every day on these channels:

Or earn lifetime access to RocketSim & my Swift Concurrency Course by becoming an affiliate of my newsletter.

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

Antoine

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: An Agent Skill for Swift Testing Using Gemini in Xcode Automating Codex & The Agentic Loop Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Swift Testing Agent Skill: Write high quality tests with AI You might have noticed that I'm building a collection of Agent Skills lately. This week, I'm introducing you to the latest addition: Swift Testing. I'm coding full-time with agents and run into frequent mistakes. One of these related to tests not being...

This week's SwiftLee Weekly covers: Agentic Coding in Xcode Is Combine dead? A new way of testing VoiceOver Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Core Data Agent Skill: Now available open-source You might see a pattern here: I'm converting my SwiftLee categories into Agent Skills. To help you, but to also help myself. These articles reflect my way of coding, and how easy would it be if I can teach my Agents to reflect that same knowledge? This week, I introduce you to my...

This week's SwiftLee Weekly covers: An interview with the creator of Clawd A new SwiftUI Agent Skill How Apple hooks entire frameworks Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST SwiftUI Agent Skill: Build better views with AI As a SwiftLee Weekly reader, you've probably checked out this skill already after I told you last week. If not, this is a great article that introduces you to it, combined with an example prompt that I like using with it. SPONSORED Release every white-label...