Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

Issue 62
May 11, 2021

Are you ready for a new step in your career? Are you the new iOS engineer of WeTransfer?

I'll try to make this intro interesting to anyone, not only looking for a new job opportunity. When searching for a new job, you got to ask yourself a lot of questions:
- What do I find important?
- Do I want to work remotely or have the opportunity to meet colleagues in the office?
- Am I oké with adopting an old codebase with possibly Objective-C, or do I want to only work with Swift?

There are likely a lot more questions to answer for yourself. I joined WeTransfer 4 years ago as a Senior Engineer, but looking back today, I think I learned more in the past 4 years than the 7 years before I joined.

Switching jobs at that time wasn't easy as it's always the question of whether you'll be happy at your new position. One thing I know for sure: You'll be more experienced whether or not it turned out to be the right decision for you.

We're in a lucky position as Swift developers in which the market is booming lately. A lot of opportunities for you to work on great apps and projects!

Without inspiring you too much to think about switching jobs, I'd like to share that my team is hiring 3 iOS engineers:
- Senior iOS Engineer / Collect
- Medior iOS Engineer / Collect
- Senior iOS Engineer / Paper

Do check them out if you're open to exploring new opportunities, and feel free to mention my name!

Enjoy this week's (packed!) SwiftLee Weekly!

THIS WEEK'S BLOG POST

I wrote about Property Wrappers not long ago, but I kept on learning a lot about how we can use custom-defined wrappers to improve our code. I started using Combine to create custom publishers and created a Property Wrapper implementation, a great source of inspiration for your own custom-defined wrappers.

TWEET OF THE WEEK

Apart from this top 10 (which is old but still interesting!), many more interesting insights in App Reviews. It’s funny how 3% is rejected because the app crashed. I bet you’re lucky if Apple rejects you for that!

SPONSORED

Frustrated with iOS's clunky ways of typing numbers/punctuation and moving the cursor? Typefinity is an ergonomic full layout keyboard including arrow keys and many other UX upgrades. Great for addresses, code, and just plain expressive text. Get it today!

CURATED FROM THE COMMUNITY

CODE

Chaining publishers with Combine makes the framework even more powerful. It allows you to go from a String search query publisher directly into a data request to fetch search results. Majid Jabrayilov explains how this works.
It’s great to see Apple using debug views as well. It’s not the prettiest one I’ve ever seen, but hey! It might be a debug view for a debug view. Just a note to ourselves to make sure we don’t ship this to production. Or did they put it in production on purpose?
When Andy Ibanez covers something that passed his radar, you know you’re in for a treat. This time he covers NSDataInterval, which was introduced in iOS 10, allowing you to check if a given date is within a certain interval.
Sooner or later, you’ll be dealing with hashes when working in apps. Whether it's basic hashing or more advanced hashing with CryptoKit, it’s valuable to read this article by Leonardo Pugliese, which covers hashing in Swift.
I enjoyed reading this article by Phil Yates which makes you realize enums aren’t always the best option while in some cases, they might seem like the best answer to the problem. Take a step back and evaluate its scalability before you end up with a big switch case in your code.
A great little tip by Keith Harrison. I often run into this myself, where I end up deleting my Simulator state by running unit tests. Be careful not to change the URL in production apps and really only for unit tests, but you’ll find this tip very useful if you do.
I always have mixed feelings when linked to posts covering new features early on. However, at the same time, I can’t wait to share what’s coming to Swift. This time it’s Marin Todorov covering Swift Actors, a great new addition coming to Swift later this year.
If you’re about to try out a new Swift Package, you might want to use this new feature from Swift Package Index to open a package in a Swift Playground quickly!
Lots of amazing proposals got accepted this week, which makes me super excited. A highlight for me is this SPM proposal which makes it possible to use tools like SwiftLint more easily with packages. Other highlights are Postfix if config expressions and unlocking existential types for all protocols, worth checking out. Exciting times ahead!

PRODUCTIVITY

Put Daniel Steinberg and Vincent Pradeilles and you have all the ingredients for an interesting interview. This time, they’re covering how you can keep up with Swift’s latest evolutions.

COMMUNITY

I’m excited to join an amazing panel hosted by Bitrise, in which we’re going to cover monitoring of mobile apps. We’ve already had a preparation session which took way longer than planned due to all the topics we liked to discuss. Don’t miss out on this one!
Another great initiative in this newsletter. This time, it’s all about WWDC. For this to happen, WWDC community is looking for volunteers. Go check it out and see if you’re able to help make this a success!
A great new initiative to support developers as they become active open source contributors. Mentors are ready to help you to start contributing to any open-source project written in Swift.