Supporting iOS 16 widget while maintaining compatibility with iOS 15

Viewed 123

I can get accessory widget working in iOS 16, but my app needs to support iOS 15.

if #available(iOS 16, *) cannot be used in WidgetBundle.

@main
struct RememberWidgetBundle: WidgetBundle {
    @WidgetBundleBuilder
    var body: some Widget {
        RememberAccWidget() <-- only available in iOS 16.
        RememberWidget()
    }
}

@available(iOS 16, *)
struct RememberAccWidget: Widget {
    let kind: String = "Remember Accessory 1"

    var body: some WidgetConfiguration {
        StaticConfiguration(kind: kind, provider: Provider()) { entry in
            RememberAccWidgetEntryView(entry: entry)
        }
        .configurationDisplayName("Accessory Widget")
        .description(helpText)
        .supportedFamilies([.accessoryInline, .accessoryRectangular])
    }
}
0 Answers
Related