@devdevdev I think this should work
var body: some Widget {
widgets()
}
func widgets() -> some Widget {
if #available(iOSApplicationExtension 18.0, *) {
return iOS18Widgets
} else {
return iOS17Widgets
}
}
@WidgetBundleBuilder
var iOS17Widgets: some Widget {
LiveActivityWidget()
HomeScreenWidget()
LockScreenWidget()
}
@available(iOSApplicationExtension 18.0, *)
@WidgetBundleBuilder
var iOS18Widgets: some Widget {
LauncherControl()
LiveActivityWidget()
HomeScreenWidget()
LockScreenWidget()
}
It combines the idea of this thread with the workaround mentioned in https://www.avanderlee.com/swiftui/variable-widgetbundle-configuration/
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: