iOS

【iOS】ウィジェット(Widget)の上下が白くなる問題の対処法

XCode15系でビルドを行うとウィジェットの上下に白い線が出てしまう問題が起こります。

この問題は下記の通り、WidgetConfigurationのextensionを追加して、Configurationを定義している所に追加すれば直ります。

// このextensionを追加して
extension WidgetConfiguration
{
    func contentMarginsDisabledIfAvailable() -> some WidgetConfiguration
    {
        if #available(iOSApplicationExtension 17.0, *)
        {
            return self.contentMarginsDisabled()
        }
        else
        {
            return self
        }
    }
}


@main
struct TODOWidget: Widget {
    let kind: String = "TODOWidget"

    var body: some WidgetConfiguration {
        StaticConfiguration(kind: kind, provider: Provider()) { entry in
            TODOWidgetEntryView(entry: entry)
        }
        .configurationDisplayName(NSLocalizedString("widget.displayname", comment: ""))
        .description(NSLocalizedString("widget.description", comment: ""))
        .contentMarginsDisabledIfAvailable()  // これを足す
    }
}

 

直った!