Let's Dive Into the Apple World
Starting with some news. Apple has unveiled contactless payments via Tap to Pay on iPhones in an effort to empower millions of merchants across the US — from small businesses to large retailers — to use their iPhone to seamlessly and securely accept Apple Pay, contactless credit and debit cards, and other digital wallets. All through a simple tap on their iPhone, removing the need for additional hardware! Check out Apple’s full press release.
Want to find out how to create product pages that resonate with the people you’d like to reach? How to provide great subscription experiences, distribute custom offer codes and promote your in-app events? If you’re a member of the Apple Developer Program, App Store Sessions are available until March 29th. Don’t miss your chance.
M1 chips are a hot topic right now, with the Pro and Max lineup leading the headlines. But M1 Mac minis haven’t been in the spotlight quite as much. Have you wondered if an M1 Mac mini could be faster than an M1 Pro? Take a look at how contention works out depending on the Quality of Service (QoS) assigned to different threads.
Ever thought new features could be fished out of Git commits? Check out this tweet, where a commit to Apple’s OS repo revealed what could be the new big thing!
Does your iPhone storage fill up rather quickly? Sometimes it’s the developers’ fault. There are multiple ways to optimize a release; one of them is stripping symbols. Check out how the size of the United Airlines iOS app got reduced by almost 187 MB!
Time To Get Technical
Let's start strong with some Xcode tips. This IDE has tons of shortcuts that can make your life easier when developing apps. Become a master of your everyday tool.
Most of today's apps require constant connectivity to function correctly, and it is crucial to keep track of the network status to provide a good user experience. Check out how to monitor the network conditions using a native solution in Swift.
Managing an app’s memory is something that tends to be especially tricky to do within the context of asynchronous code, as various objects and values often need to be captured and retained over time in order for asynchronous calls to be performed and handled. Let's take a deep dive into this topic with this amazing memory management article.
If you are used to having skeleton views while your app loads and have wondered how to implement this in SwiftUI, there is a very useful View modifier call ed Redacted that can help you achieve this as simply as possible.
A new Swift concurrency model is making the rounds. Take a look at an article by Majid where he explains how he migrated his combine codebase.
Let's finish up with some testing. Writing testable code is getting popular and critical in today's industry and with the increasing usage of SwiftUI in apps, learning how to write testable SwiftUI code is a must! We got you covered with this article from John Sundell.
While writing your unit tests, you need to create the dependencies of the system under test (SUT). Most of the time you choose (or are forced) to create your own version of the depended-on component (DOC) — that’s what we call a test double. Never heard of it? Take a look at these Test Doubles examples in Swift.
That's it for this month's Swiftly Highlights! See you again soon.