[Mac M2 Pro 12CPU, Ventura 13.6, watchOS 10.0.1, Xcode 15.0]
[Swift] 42で報告したComplicationの表示不良が解決しました。Viewコンテンツの新属性として.containerBackgroundを追加するだけでした。
watchOSの大型アップデートの際に新属性記述が必須になることがあるようです。Apple Developer ForumsとMac OTAKARAの記事を参考に修正しました。
WWDC23で前もって紹介されており、Appleのやらかしではありませんでした。
ただApple Watch SEのシミュレータでは新属性なしでも正常表示しているのが解せないです。アップデートしたwatchOS 10では対応が必要で、watchOS 10そのものには不要なのでしょうか。
解決しない場合は、検証用追加機としてApple Watch Series 8あたりを購入しようかと覚悟していたので助かりました。
SE 第2世代でもいいから追加機導入して2台開発体制にする方がいいかな。iOSとは違ってwatchOSアップデートはサブ機でお試しが無難ですから。
struct MemoToolAW_ComplicationsEntryView : View {
var entry: Provider.Entry
var body: some View {
Image(systemName: "square.and.pencil")
.resizable()
.aspectRatio(contentMode: .fit)
.foregroundColor(.white)
.background(Color.blue)
.containerBackground(for: .widget){ // watchOS 10から必須
Color.blue
}
}
}