Hi there, welcome to the 56th issue of iOS Code Review!
Grab your favorite beverage (pumpkin spice or not), find a comfy spot, and dive into this week's newsletter. Let's learn together. Happy reading!
A two-day, free event with 40+ workshops and sessions brought to you by 50+ industry-leading speakers from eBay, Reddit, AWS and more. Learn from real-world examples of successful Mobile DevOps implementations.
Check out our speaker list
Are you using SwiftData?
New and fancy alternative to CoreData is much easier to use, but it still has a learning curve. It's declarative, so how we declare the data makes a difference.
With enums in particular, adding raw values makes a huge difference on how the data is stored, so we can reduce database size and make requests faster. On small scales that might not have much difference, but with large amounts of data it's certainly an improvement.
New behaviour of URL(string:) in iOS 17
If you're building your app using Xcode 15,
URL(string:) gets a new behaviour. Now invalid urls don't return
nil anymore, and get percent-encoded. To get the old behaviour, we need to use
URL(string: str, encodingInvalidCharacters: false)
How to make a strong case for accessibility
As one example of accessibility not serving only disabled users, subtitles are not only for deaf users - they also serve those who can't listen at the moment, or are located in a loud environment.
A brilliant infographic, and a brilliant article with a set of practical takes on building a compelling case for supporting accessibility in our apps.
String catalogs in Xcode 15
Xcode 15 finally introduces a better way to handle localizations in a structured way. No more .strings files 😎 Here's a four-minute demo of the new functionality:
Alright, that's it for today! Let's spread the good code vibes ✨🧘🌈☀️
Thank you to Bitrise for sponsoring this issue ❤️