In the Xcode release notes, there's mention of this allllll the way at the bottom (it's easy to miss):
Availability checks in iPhone and iPad apps on a Mac with Apple silicon always return true. This causes iOS apps running in macOS 11 Big Sur to see iOS 15 APIs as available, resulting in crashes. This only affects apps available in the Mac App Store built with the “My Mac (Designed for iPhone)” or “My Mac (Designed for iPad)” run destination. It doesn’t affect Mac Catalyst apps. (83378814)
Workaround: Use the following code to check for iOS 15 availability:
if #available(iOS 15, *), ProcessInfo.processInfo.operatingSystemVersion.majorVersion >= 15 {
Topic:
App & System Services
SubTopic:
Notifications
Tags: