Conditionally use Big Sur SwiftUI features on MacCatalyst app without dyld crash?

I'm trying to use ColorPicker in a Big Sur Catalyst app. I thought I had wrapped everything in the correct conditionals, but I'm getting a dyld crash on Catalina:
Code Block
Termination Reason:  DYLD, [0x4] Symbol missing
Application Specific Information:
dyld: launch, loading dependent libraries
Dyld Error Message:
 Symbol not found: _$s7SwiftUI11ColorPickerVMn
 Referenced from: /private/var/folders/*/Metronomics 2.app/Contents/MacOS/APP_NAME (which was built for Mac OS X 14.0)
 Expected in: /System/iOSSupport/System/Library/Frameworks/SwiftUI.framework/Versions/A/SwiftUI
 in /private/var/folders/*/APP_NAME2.app/Contents/MacOS/APP_NAME


Here's my conditional import:
Code Block
if #available(iOS 14.0, macCatalyst 14.0, *) {
ColorPicker("Display color", selection: colorBinding, supportsOpacity: false)
}


I tried both macCatalyst 11.0 and 14.0 for the conditional (not being sure whether the version number is referring to the macOS number or the underlying iOS number), but neither seemed to have an effect.

My deployment target is macOS 10.15.5

Goal: I would like to be able to use ColorPicker on iOS 14 and Big Sur, but the app should run on iOS 13 and Catalina.

Replies

I am having a similar issue, I don't know if Catalina is supported for Mac Catalyst 14.0+
Please use Feedback Assistant to record a bug about this. The conditional you have should be sufficient.