Xcode15betaでウィジェットを確認した所、以下の画像の警告が出てプレビューが表示されなくなっていた。(Small・Medium・Largeウィジェット共通)
どうやら、iOS17の場合には、modifierでcontainerBackgroundを設定する必要があるらしい。
解消方法
各ウィジェットに共通で入れたいのでextensionで以下の処理を準備する。
extension View {
func widgetBackground(_ color: Color) -> some View {
if #available(iOSApplicationExtension 17.0, *) {
return containerBackground(color, for: .widget)
} else {
return background(color)
}
}
}
Small・Medium・Largeの各Viewに共通で追加する。
var body: some View {
ZStack {
// widgetの処理
}
.widgetBackground(.clear) //色は自由
}