3 min read

Issue #52

Hi there, welcome to the 52nd issue of iOS Code Review! Grab a quick cup of your favorite beverage and let's learn something new :)

Setapp offers a collection of 240+ carefully curated macOS apps under one subscription. Now there's no need to purchase individual subscriptions for each app.

Try Setapp for free 🚀 

GIFs in SwiftUI

TIL how easy it is to play gif animations in UIKit and SwiftUI using CGAnimateImageAtURLWithBlock. We just need to remember to stop the animation when the view disappears:

View vs View modifier?

Back when I just started learning SwiftUI, I started by making all of my customizations as View. I even had styled text as a View wrapping a styled Text, similar to UILabel subclasses in UIKit 🙈🙈
Fairly quickly though I grasped the idea of view modifiers, still using custom Views for breaking down the view hierarchy and for reusable components.

So when I stumbled on John's article where he explores when to use what approach, I knew I have to share it with you folks. He implements the same "featured" UI using a view and a view modifier, and compares them side by side:

SwiftUI views versus modifiers | Swift by Sundell
What’s really the difference between building a piece of UI as a view versus a modifier, and how to choose between those two solutions?

Beware of Xcode's automatic version management

Alexander shares his surprising experience with Xcode's ability to override version and build numbers during app export. Turns out, it overrides the values in all Info.plist files, including those embedded in third-party SDKs, so you can run into subtle issues if the SDK is checking those values.

AppStore Connect: Manage Version and build number
I have released quite a few apps already, mostly at work but also personally. When releasing, I was facing issues with signing, Xcode configurations, CI/CD solutions or the AppStore Review. I assumed I have seen quite a lot of issues. Recently I was…

Looking up Apple's error codes

Save it for later -> osstatus.com

Alright, that's it for today.
PS. As Twitter has messed up its API, I still have to embed tweets using screenshots. I'd love to hear your experience with images in the emails - how has that been, are you experiencing any issues with that? Let me know 🙏

* this issue contains an affiliate link to Setapp