How to use SwiftUI with macOS 10.15

Welcome to the community! This is going to get a little complicated, because you’re new to this, but it all has to do with how new SwiftUI is (only released in 2019), and how much it is still constantly changing since it’s release.


You should use this tool, Xcodes, with an “s” to download Xcode, rather than using the Mac App Store. This tool allows you to have multiple versions of Xcode downloaded at once (something the Mac App Store doesn’t), and given that, you can easily switch between versions and use whichever one you want (as long as your macOS version is compatible). This tool technically just uses Apple’s website to download Xcode, rather than the Mac App Store, and given that it names them differently, which allows you to select different versions.


SwiftUI works with macOS 10.15, but as you’ve found, there are tons and tons of changes since the first release. (see here for details about compatibility, mentioned at the top).

I would not recommend downloading Xcode 12 and using that default project, because at some point Apple makes it so that you must use an updated version of Xcode to submit apps. (This is typically for iOS, but there are requirements for macOS too, but it depends how you deploy the app). This is an iOS forum more so, so we can help more on that front, than macOS.

You can see here that WindowGroup is only available to macOS 11.0+, as you’ve found.

What I’d recommend doing, is starting the project NOT using SwiftUI (because this will give you the right starting files and then instead use SwiftUI views. Which means you’ll have to do UIKit / SwiftUI interoperability. (BUT actually with it being macOS, you’ll have to interact with AppKit, not UIKit, because UIKit is an iOS framework and AppKit is macOS)

See some details here about SwiftUI / UIKit: SwiftUI and UIKit interoperability - Part 1 | Swift by Sundell
AppKit: AppKit | Apple Developer Documentation

2 Likes