Jan Schwarz3 min

Swiftly Highlights: Get Ready for iOS 15

EngineeringSep 1, 2021

Engineering

/

Sep 1, 2021

Jan SchwarziOS Engineering Director

Share this article

August just flew by and that means two things. First, we are back with our monthly list of articles and posts that caught our attention in the Apple world. And second, September is here — which traditionally means that the next major releases of Apple operating systems are just around the corner.

We’ve already talked about some groundbreaking updates announced on WWDC so, this time, let's dive into a bit more niche topics that might have escaped your attention.

New Stuff

How To Use Throwing Properties to Catch Failures in Swift

Starting from Swift 5.5, we can define throwing computed properties. This feature was introduced alongside the concurrency changes and, if you are interested in how it can be useful to you, SwiftLee posted a nice summary of the topic.

Swift's Documentation Markup

Xcode has always had a slightly special documentation format, but the new DocC format goes even a few steps further. You can host it on a website, build interactive tutorials with it and much more. What more, you ask? Well, check out the SwiftRocks blog post.

SharePlay Release Schedule Update

Are you looking forward to SharePlay? Unfortunately, you will have to keep waiting a bit longer as Apple is apparently facing some difficulties; the feature was disabled in beta 6 releases of the new operating systems, and it’s already been announced that it won't be available in autumn’s initial public releases. Luckily, Apple offers a SharePlay Developer Profile that allows you to continue with developing features leveraging SharePlay.

Top Pick by Paul Hudson

Paul Hudson provides us with tons of great iOS content and, this time, he pointed out one interesting detail he noticed in a WWDC video. It seems that the async-await revolution also brings the "lines" property to "URL" — and it is pure magic.

How To Style SwiftUI Buttons in iOS 15

With iOS 15, Apple introduces a new way to customize buttons in iOS apps for both SwiftUI and UIKit frameworks. Even though the article from AppCoda focuses on the SwiftUI side of the matter, you can find a link to a blog post about the UIKit part in the text.

Good Old Stuff

To not feel dizzy from all the news, let's also have a look at posts that look at things we’re already familiar with from a different angle — or that summarize what we already know.

Numeric Protocols

The Swift numeric protocols hierarchy is... let's call it complex. If you’ve ever been lost in choosing the right protocol to restrict your input parameters while enforcing other behavior at the same time, you should definitely check this relationship schema tweeted by Ole Begemann.

A Better Approach to Writing a UserDefaults Property Wrapper

Jesse Squires came up with an interesting statement: He has never worked on a single production codebase where UserDefaults default values would be handled correctly. If you want to find out about the correct way and a few more UserDefaults best practices, this article is for you.

Using ‘@unknown default’ Within Switch Statements

What would Swiftly Highlights be without a post from John Sundell. This time, we’ve picked a nice reflection on the default case in switch statements with an emphasis on "@unknown default". If you’ve ever been driven crazy by the compiler forcing you to include this case, you should read about how you can actually benefit from it.

Unwrap or Throw

That's the question. We’re pretty sure that ten people would give you ten different answers, but it's always beneficial to hear the points of your colleagues. As long as you don't have a really strong opinion on the topic — which would mean there’s a chance the article will drive you crazy — check the reasoning of Antoine van der Lee.

And Finally...

Have you ever written code in VIM? Did you enjoy it? If you are a latent masochist and your answer is "yes," this is great news for you. Xcode 13 brings Vimpocalypse to our lives. Enjoy!

That's it for August. See you next month!

Share this article