Daily coverage of WWDC20.
A Swift by Sundell spin-off.

What’s new in Xcode 12

Published at 18:10 GMT, 24 Jun 2020
Written by: Sean Allen

Let’s take a look at some of the more common features that are new in Xcode 12. As with every major release of Xcode there’s a ton of new stuff. If you want to really dive in, then check out the full Xcode 12 Beta Release Notes.

Design

Xcode 12 has a sleek new design that matches the look and feel of macOS Big Sur. A quick note, macOS Big Sur is not required to download and run the Xcode 12 beta.

App creation & compatibility

There is now a SwiftUI multi-platform template that will generate separate Shared, iOS and macOS folders for a new Xcode project. Their purpose is to let you create the core of your app within the Shared folder, while placing platform-specific files in the iOS and macOS folders, in order to create the best experience across all platforms.

With the transition to Apple Silicon, Mac apps will need to support the Intel x86_64 CPU architecture, as well as Apple Silicon. Build your project in Xcode 12 and it will create a binary for each platform under the same bundle, allowing your app to support both processor architectures at the same time.

Workflow

There are a few workflow improvements in this year’s update, with Document Tabs being my favorite. You can organize the files that you are working on with these tabs, and even use a group of tabs within each editor. SwiftUI previews is also getting a convenient toolbar that enables you to execute common tasks — like running your preview, previewing on an actual device, duplicating the preview, and changing its environment — for example by turning Dark Mode on or off, changing the device type, modifying Dynamic Type settings, and so on.

Testing In-App Purchases got a much needed overhaul. You can now test purchases and subscriptions directly from within your tests, without staging or deploying your app, and you can manage and even refund transactions in real-time.

Conclusion

Xcode 12 doesn’t have as many user-facing features as previous updates, but there’s still a lot going on. Xcode 12 is already a Universal App, which means that it’s ready for Apple Silicon, and as I mentioned, it will convert your app to a Universal App just by building it. With the macOS redesign, workflow benefits, and quality of life improvements like code-completion and improved indentation, Xcode 12 is a very solid update.

What do you think? What are some of your favorite features in Xcode 12? Let me know on Twitter @seanallen_dev.

Written by: Sean Allen