I'm developing a macOS app using Xcode 14.0 with Swift 5.7 and SwiftUI. I'm running macOS 12.6 on my MacBook M1 Pro. I need to support at minimum a macOS 11.0 which means that there are many new SwiftUI functions I cannot use due to them needing macOS 12.0 . One function that I use quite a bit for SwiftUI layout is overlay(_:alignment:). According to the 
CodePudding user response:
It's safe to keep using the deprecated version of overlay. Apple won't remove it from SwiftUI for years, if ever.
But if you want to be extra safe, you can write your own modifier that uses the deprecated overlay if the new overlay is not available:
extension View {
@ViewBuilder
func overlayWorkaround<V: View>(
alignment: Alignment = .center,
@ViewBuilder _ content: () -> V
) -> some View {
if #available(macOS 12, macCatalyst 15, iOS 15, tvOS 15, watchOS 8, *) {
self.overlay(alignment: alignment, content: content)
} else {
self.overlay(content(), alignment: alignment)
}
}
}
