[Swift] 44 Apple WatchのComplication改良 / watchOS 10による表示不良 解決 / containerBackground

[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アップデートはサブ機でお試しが無難ですから。

watchOS 10でも正常表示になった
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
        }
    }
}

参考
Apple Developer Forums
Mac OTAKARA