4 min read

Issue #68

Hi there, welcome to the 68th issue of iOS Code Review! I hope the spring is treating you well ☀️ I've been traveling, and also started a new job as an engineering manager. I'll write more about my reasons behind this step later on when I gather my thoughts. In the meantime, enjoy today's learnings ❤️

Everything about the AASA file

"The Apple App Site Association (AASA) file enables iOS features like Universal Links, Shared Web Credentials, Handoff, and App Clips by establishing a secure and verified link between your iOS app(s) and a web domain. 

If you've noticed that certain links on the mobile web versions of Instagram or YouTube keep you in the browser, while others redirect you into the app, this behavior is all being driven by the AASA file."

Everything You Need To Know About The Apple App Site Association File
The Apple App Site Association (AASA) file enables iOS features like Universal Links, Shared Web Credentials, Handoff, and App Clips by establishing a secure and verified link between your iOS app(s) and a web domain. If you’ve noticed that certain links on the mobile web versions of Instagram or

ContentUnavailableView FTW

I shared something about this new view back when iOS 17 was just released. Coincidentally, now I'm using it in a project for real for the first time, and a few days later another article came out - with examples of its possible states, and screenshots! At first I wasn't sure that my view was looking the way it should, and I looked for ways to adjust spacing. It's not possible, but I can see that my view looks just the way it is expected to, so I'll leave it be :)

Display empty states with ContentUnavailableView in SwiftUI
Learn how to use the ContentUnavailableView to represent empty states in a SwiftUI application.

Overcoming obstacles

Obvious to more seasoned engineers, these techniques are the way to go when you're stuck:

5 Practical Ways to Quickly Overcome a Programming Obstacle
Are you stuck on a programming challenge? Does the code not compile? Does the API work differently than you expect? Little problems can add up and get in the way of seeing the big picture. As a software developer, you need to be able to overcome these obstacles. Here are

There is no right or wrong in software engineering (often)

"... when it comes to software engineering, the reality is most things cannot be cleanly divided into "right or wrong" boxes like that. Yes, some things are concrete and indisputable. If an OS-level API states that you should never call it outside of the main thread, then that's what you should follow.
But most things are the opposite of that. When we talk about general problems and best practices, it's extremely rare for them to have a clear right or wrong to go. Instead, they depend on what you're trying to achieve, and everyone is trying to achieve something different.There is no right or wrong in these situations, only different approaches. "

I subscribe to this approach, highly recommend reading this article if you're aiming at senior level or above:

There is no right or wrong in software engineering
Developers love to argue about which tools and languages are better. In this article, we’ll see that things are not that straightforward in practice.

✌️
Alright, that's it for today! Let's spread the good code vibes ✨🧘🌈☀️
I'm curious if you found any of the tips particularly interesting - let me know by replying to this email!

Are you motivated by the craft of writing Swift? Want to improve your productivity and the quality of your results? Want to hang out with other awesome developers with the same mindset?

Swift Craft is a brand new conference for passionate developers working on Apple platforms. Set in a UK seaside town with stunning views across the English Channel, with an incredible line up of some of the community' top speakers, delivering dozens of sessions on the latest Swift features and writing even better code - this is the inaugral event you won't want to miss!

Find out more and check out the full schedule