Swiftly Highlights: November 2020
Coming to you straight from the STRV iOS team, here’s a brief summary of what caught our attention throughout November. Let's get straight to it.
M1 - APPLE SILICON
During the WWDC Keynote, Apple unveiled that it was working on its new chips family called Apple Silicon, and that the planned release of the new Macs with these chips was by the end of 2020. Well, the time has come! Apple announced its new Macs with the first Apple Silicon chip called M1: Mac Mini, Macbook Air (fanless edition!) and the Macbook Pro 13-inch.
At the latest event where these new Macs were introduced, Apple showed great numbers regarding CPU performance and battery life for the M1. Some of them may sound unrealistic but, so far, a lot of benchmarks and reviews have been proving that this new chip is definitely something to watch!
Unfortunately, Apple hasn’t yet announced a new Macbook Pro 15/16-inch with a dedicated graphics card—but there are some rumors about the new 14-inch and 16-inch for next year, so let’s wait for it!
You may have already heard about Big Sur (maybe you’ve even tested some Beta versions). Well, it’s officially been released! This time, we got a 48-hour notice to update our apps, instead of 24.
Big Sur is the new macOS version. For several years now, we’ve been using various versions of macOS 10.x. Great to see Apple finally bump this to 11.0.
This new OS version comes with a complete redesign, giving it a nice, fresh look. There are a lot of cool new features in this version that are worth checking out. We’re especially big fans of the new control and notification center.
App Store Small Business Program
Apple announced the App Store Small Business Program that basically reduces the App Store commission from 30% to 15% for app businesses earning up to $1 million per year. This is super motivating for engineers who publish their paid apps that provide in-app purchases, which is the vast majority. This program will launch on January 1st, 2021.
Privacy Nutrition Labels
Starting on December 8th, Apple will require apps to add Privacy “Nutrition Labels.” These labels will list what information an app collects and will be shown in the App Store before they’re downloaded, giving users a better understanding of what will be collected. So, if you’ve got an app, make sure to update it in time!
Subscription Offer Codes
As of now, you can create Subscription Offer Codes to offer discounts, helping you reach or hang on to more users!
This new version lets you turn on automatic updates so your latest available beta build installs automatically.
SWIFTUI & COMBINE
SwiftUI and UIKit Interoperability
If you are working on a completely new SwiftUI app, you may need some UIKit components that are not available yet. Well, you can use UIViewRepresentable to make that happen!
The same applies vice versa. Say you already have an existing UIKit app but you’d like to play a bit with SwiftUI and include cool new components. If that’s the case, you may want to check out how to implement it by using UIHostingController.
Sometimes you have a custom transform that is being repeated in several Combine pipelines. The way to get rid of this is by creating your custom Combine operators by extending with convenience APIs.
Add some cool syntax sugar to make clearer code by using Nested Types.
There are a lot of built-in container views, like VStack or HStack, but you can create custom ones! Once again, we turn to John Sundell for an explanation about how to do so.
Almost every app that has its own OAuth flow needs to have some sort of token refresh in order to keep the session alive. If you are migrating to Combine or building a new app with it, you may want to check out Donny Wals’ networking layer to see how to achieve this behavior.
MORE COOL READING
Have you heard about the SwiftIO board by MadMachine? This is an Arduino-like system, but it can run Swift code natively on the hardware. Exciting, right? Go through this nice Getting Started guide by The.Swift.Dev to get more into it.
Performance Analysis for Xcode Builds
Debugging JSON Data in LLDB
Timac explains the difference between iPhone OS 1.0 and iOS 14 by comparing their components and progressive modularization using tree maps.
That's it for November. See you next month!