SwiftLee Weekly - Issue 247


This week's SwiftLee Weekly covers:

  • Black Friday Discounts
  • Apple Intelligence in SwiftUI
  • Balancing support requests in side projects

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

Black Friday: 50% discount on RocketSim & Going Indie Course

It's that time of the year with crazy discounts floating around everywhere. I decided to join the madness and provide a 50% discount on my Going Indie course and RocketSim.

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

How to create and upload high-quality App Store assets

Using two professional tools together allows you to optimize the process of creating high-quality App Store assets.
polpiella.dev

Should we use Apple Intelligence for Text and Inputs in SwiftUI using writingToolsBehavior

I recently had to make changes to a MacOS Catalyst app, and this article was timely. It made me realize we can adjust the behavior of textfields and Apple Intelligence. At least, that’s what you would expect…
medium.com

Using Transactions Instead of Save in SwiftData and Core Data

Transactions in databases are essential for both data consistency and performance. SwiftData and Core Data support this; you can learn about it in this article.
fatbobman.com

Time-Based View Updates in SwiftUI

The TimelineView in SwiftUI is a container that redraws its contents based on a specific timeline provided. It’s a powerful element that can be used in many scenarios, and this article describes a few quite nicely.
digitalbunker.dev

Set supported platforms in file target membership options in Xcode

A pretty neat option I didn’t know existed until reading this article by Natalia Panferova. Instead of using #if os(macOS), you can configure metadata on a file level.
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.

There have been no Swift Evolution changes this week.

QUESTION OF THE WEEK

How do you balance working on the app and responding to users?
Philipp

Handling incoming support requests. It seems like a non-issue for side projects, but as soon as you gain momentum, you'll also gain more support requests.

These can be short requests like "How does feature X work?" or a bug report. However, they can quickly become longer email threads that can easily take up your time. How do you balance this while still making sure your reply is quick enough?

The latter is most important: what is quick enough?

When working with multiple developers on a project, you might get a question asked, too. If you're an expert in your team, it's often easier to ask you for the answer instead of investing time into finding an answer. While this is fine, it's also essential to let colleagues find their answers without your help. I always waited at least 10 minutes to answer and found colleagues often replying, "Oh, no worries, already found the answer!". The point is: they won't stop searching for the answer themselves, they just tried to see if you're the quickest way out.

Now, support questions are different. You want to be there for your users, but how quickly do they expect you to reply? In my experience, when I answered within 2 days, I would still get replies like "Thanks for answering so quickly!" The point is that many support teams answer late or sometimes not even at all.

So, for side projects where you don't have a support team, it's fine to bundle all support requests into a single day of replying. This brings you to a single context, making answering more optimized. Answering support emails daily is inefficient and will distract you quite a bit. My golden path is to either bundle all support requests into a single Friday or answer them between meetings when I don't have time for deep work.

Good luck!

Want to have your question answered next week? Ask your question via this form (anonymously)

SWIFTLEE MONTHLY GIVEAWAY

ARCTic Conference Giveaway winner

I'm happy to announce A. Radut as this month's giveaway winner! We'll contact you shortly.

EARN ROCKETSIM LIFETIME

Share and Earn Rewards

Apple lists RocketSim as an Essential Developer Tool in the Mac App Store, and now you can enjoy lifetime Pro access by spreading the word!

Share your unique referral link below with fellow developers who would appreciate my newsletter:

[RH_REFLINK GOES HERE]

Check your referral count anytime and track your progress toward earning your reward.

Thanks, 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: ControlGroup in SwiftUI 1-on-1 with an app development expert My favorite books Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST How to develop an app for iOS Many of you probably know how to build an app for iOS, but many developers (or non-developers) out there don't! I decided to write an entry article to give those a kickstart. Book a 1-on-1 for app development questions As part of this, I'm happy to announce I joined Intro as an app development...

This week's SwiftLee Weekly covers: Can you land an iOS job within 1 year? Winning an Apple Design Award Open-sourcing Swift Build Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Parameterized tests in Swift: Reducing boilerplate code Are you using Swift Testing already? If not, you might start doing so after trying out parameterized tests. They're quite a game changer for my tests and a great way to reuse a single test case. SPONSORED FREE iOS Architect Crash Course for a limited...

This week's SwiftLee Weekly covers: Debugging the undebuggable Color mixing in SwiftUI Indie app launch learnings Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Network Link Conditioner: Simulating Slow Networking The Network Link Conditioner is part of Apple's additional Xcode tools and allows you to test your app under slow networking conditions. If you're testing your iOS apps for slow networking, there's a better alternative. SPONSORED Paywalls Made Easy – Superwall Huge apps...