API Differences in WidgetKit in iOS 17.0

It can be difficult to find what changed in Apple SDKs. These pages are algorithmically generated and show what is new in WidgetKit in the iOS 17.0 SDK.

Table of Contents

Protocols

AppIntentTimelineProvider

Structs

AppIntentConfiguration
AppIntentRecommendation
PreviewActivityBuilder
PreviewTimelineBuilder
SwiftUICore.EnvironmentValues
ActivityFullScreenKey
SwiftUICore.EnvironmentValues
ShowsWidgetBackgroundKey
SwiftUICore.EnvironmentValues
WidgetContentMarginsKey
WidgetLocation

Functions & Methods

AppIntentTimelineProvider
public func recommendations() -> [WidgetKit.AppIntentRecommendation<Self.Intent>]
SwiftUI.WidgetConfiguration
public func _containerBackgroundRemovable(_ isRemovable: Swift.Bool) -> some SwiftUI.WidgetConfiguration
SwiftUI.WidgetConfiguration
public func _contentMarginsDisabled() -> some SwiftUI.WidgetConfiguration
SwiftUI.WidgetConfiguration
public func disfavoredLocations(_ locations: [WidgetKit.WidgetLocation], for families: [WidgetKit.WidgetFamily]) -> some SwiftUI.WidgetConfiguration
SwiftUICore.View
public func widgetCurvesContent(_ curvesContent: Swift.Bool = true) -> some SwiftUICore.View
WidgetInfo
public func widgetConfigurationIntent<Intent>(of intentType: Intent.Type = Intent.self) -> Intent? where Intent : AppIntents.WidgetConfigurationIntent

Properties & Constants

SwiftUI.ContainerBackgroundPlacement
public static let widget: SwiftUI.ContainerBackgroundPlacement
SwiftUICore.EnvironmentValues
public var widgetContentMargins: SwiftUICore.EdgeInsets
WidgetLocation
public static let homeScreen: WidgetKit.WidgetLocation
WidgetLocation
public static let iPhoneWidgetsOnMac: WidgetKit.WidgetLocation
WidgetLocation
public static let lockScreen: WidgetKit.WidgetLocation
WidgetLocation
public static let standBy: WidgetKit.WidgetLocation

Conformances

AppIntentConfiguration
Swift.Sendable

Initializers

AppIntentConfiguration
public init<Provider>(kind: Swift.String, intent: Intent.Type = Intent.self, provider: Provider, @SwiftUICore.ViewBuilder content: @escaping (Provider.Entry) -> Content) where Intent == Provider.Intent, Provider : WidgetKit.AppIntentTimelineProvider
DeveloperToolsSupport.Preview
public init(_ name: Swift.String? = nil, as family: WidgetKit.WidgetFamily, widget: @escaping () -> some Widget, @WidgetKit.PreviewTimelineBuilder timeline: @escaping @_Concurrency.MainActor () async -> [any WidgetKit.TimelineEntry])
DeveloperToolsSupport.Preview
public init(_ name: Swift.String? = nil, as family: WidgetKit.WidgetFamily, widget: @escaping () -> some Widget, timelineProvider: @escaping () -> some TimelineProvider)
DeveloperToolsSupport.Preview
public init<Provider>(_ name: Swift.String? = nil, as family: WidgetKit.WidgetFamily, using intent: Provider.Intent, widget: @escaping () -> some Widget, timelineProvider: @escaping () -> Provider) where Provider : WidgetKit.IntentTimelineProvider
DeveloperToolsSupport.Preview
public init<Provider>(_ name: Swift.String? = nil, as family: WidgetKit.WidgetFamily, using intent: Provider.Intent, widget: @escaping () -> some Widget, timelineProvider: @escaping () -> Provider) where Provider : WidgetKit.AppIntentTimelineProvider
DeveloperToolsSupport.Preview
public init<Attributes>(_ name: Swift.String? = nil, as viewKind: WidgetKit.ActivityPreviewViewKind, using attributes: Attributes, widget: @escaping () -> some Widget, @WidgetKit.PreviewActivityBuilder<Attributes> contentStates: @escaping @_Concurrency.MainActor () async -> [Attributes.ContentState]) where Attributes : ActivityKit.ActivityAttributes