Gar*_*abo 7 ios lockscreenwidget widgetkit swiftui
我们如何将锁屏小部件添加到现有的小部件包中并仍然支持 iOS 15?:thinking_face: 例如,这不会编译
struct SecondExtraBundle: WidgetBundle {
@WidgetBundleBuilder
var body: some Widget {
DailyHeartRatesWidget()
if #available(iOSApplicationExtension 16.0, *) {
LockScreenRecoveryScoreWidget()//Requires iOS 16?
} else {
// Fallback on earlier versions
}
}
}
Run Code Online (Sandbox Code Playgroud)
Ste*_*ven 20
我认为这应该有效。EmptyWidgetConfiguration
如果不支持该小部件,只需返回一个即可。
struct SomeWidgetBundle: WidgetBundle {
@WidgetBundleBuilder
var body: some Widget {
AlwaysAvailableWidget()
LockScreenWidget()
}
}
struct LockScreenWidget: Widget {
var body: some WidgetConfiguration {
if #available(iOSApplicationExtension 16.0, *) {
return StaticConfiguration(
kind: "some.kind",
provider: LockScreenWidgetTimelineProvider()
) { provider in
Text("Some view")
}
.configurationDisplayName("Some display name")
.description("Some description")
.supportedFamilies([.accessoryCircular])
} else {
return EmptyWidgetConfiguration()
}
}
}
Run Code Online (Sandbox Code Playgroud)
这在 Xcode 14 之前不起作用,但SE-0360已经实现,您现在可以执行此操作。
归档时间: |
|
查看次数: |
2303 次 |
最近记录: |