Black Friday: Save 50% on RocketSim & Going Indie Course. Grab the deal.
BF: Save 50% on RocketSim & Going Indie Course.
Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

Issue 104
Mar 01, 2022

The only Simulator tool you'll need.

That's my goal of RocketSim 7.0. Last weekend, I worked hard on adding new features like opening app-related directories and monitoring the latest builds. Up next is adding features like uninstalling apps and controlling permissions.

If you're not yet using RocketSim, you can quickly get it from the Mac App Store.

But I'm not here to only speak about the new RocketSim features. The situation in Ukraine has a significant influence on us all and shines a different light on everything we do.

Should I remove my apps from the App Store? Should I no longer make SwiftLee available for Russia? Can I still post happy pictures of Bernie on Twitter?

I'm constantly thinking of all innocents affected by this stupid, useless war, and I find it hard to see fellow developers in these situations. Developers from Ukraine and developers from Russia are affected, which makes it an even crazier situation.

Instead of taking my products offline, I decided to donate using CARE's Ukraine Crisis Fund, for which I hope you can do the same. I hope this war ends as soon as possible, and all donations will help the current situation.

Спасибі 🙏

THIS WEEK'S BLOG POST

I've often used the @Published property wrapper in combination with observed objects, but did you know you can use it without the ObservableObject protocol as well? There's more to it: the changes are emitted from the willSet operator, meaning that we can quickly run into unexpected behavior for our applications. An important detail to be aware of when working with this valuable property wrapper.

SPONSORED

Runway connects with all your existing tools (think GitHub, CI, App Store Connect, etc.) to automate releases and make them less of an ‘event’. With a single source of truth and hands-free kickoff, submit, and release, avoid the usual cat-herding and focus on real work. Get started for free.

SWIFTLEE JOBS

$87-109K (United Kingdom)
Browse more Swift related Jobs, or add your own on SwiftLee Jobs.

CURATED FROM THE COMMUNITY

SWIFT

That’s right: you can name loops in Swift! This can be useful if you have a loop in a loop and want to break out of the outer loop. Manuel Schulze explains how this works.
Picking colors can be tricky. Not only because we’re developers and often not designers, but also because there are many facets to take into account. Jordan Morgan describes why picking a color is never about one color but should be about picking four instead.
I enjoyed this deep-dive by Moving Parts showing some unique ways of working with SwiftUI views to generate a custom-divided VStack/HStack look-a-like view.
Gio describes an issue I’ve been running into myself not long ago. The predicate evaluation uses a polling mechanism that quickly slows down your unit tests. I don’t agree to solve this by adding a dependency like Nimble just for solving this since Nimble brings a whole new way of writing tests. Though, it’s good to have an example of how you can solve this.
Even if you’re not using Core Data, this post by Keith Harrison can be valuable. I liked how he describes a situation of a failing unit test that you can solve by using a simple notification expectation.

DEBUGGING

A website full of little tips explained with drawings. Dominik Hauser brings you many of these, from which I liked this one: highlight view frames to get a better understanding of how your view is drawn.
Charles Proxy is one of those tools I’m pretty sure I can’t miss during app development. Especially when optimizing the network requests inside my apps, I’m always using Charles Proxy to validate the expected outcomes. Natascha Fadeeva does a great job giving you the basics to get started.

META

I loved this article by Daniele Margutti. It’s pretty opinionated, but he makes a few great points that I recognize myself. My role at WeTransfer has been changing lately, and I had a hard time accepting that I won’t be able to review all code in our project anymore. Simply because the team grows and we’re moving faster. Imperfection can be hard to accept but might be essential during your career.

THANK YOU

Thanks for being a SwiftLee subscriber! 
Continue your journey: