---
title: "init(_:as:using:widget:timelineProvider:)"
framework: developertoolssupport
role: symbol
role_heading: Initializer
path: "developertoolssupport/preview/init(_:as:using:widget:timelineprovider:)-1if5u"
---

# init(_:as:using:widget:timelineProvider:)

Creates a preview of a widget with an AppIntent configuration.

## Declaration

```swift
@MainActor init<Provider>(_ name: String? = nil, as family: WidgetFamily, using intent: Provider.Intent, widget: @escaping () -> some Widget, timelineProvider: @escaping () -> Provider) where Provider : AppIntentTimelineProvider
```

## Discussion

Discussion The #Preview macro expands into a declaration that calls this initializer. To create a preview that appears in the canvas, you must use the macro, not instantiate a Preview directly.

## See Also

### Creating a preview of a widget

- [init(_:as:using:widget:contentStates:)](developertoolssupport/preview/init(_:as:using:widget:contentstates:).md)
- [init(_:as:using:widget:timelineProvider:)](developertoolssupport/preview/init(_:as:using:widget:timelineprovider:)-5335n.md)
- [init(_:as:widget:timeline:)](developertoolssupport/preview/init(_:as:widget:timeline:).md)
- [init(_:as:widget:timelineProvider:)](developertoolssupport/preview/init(_:as:widget:timelineprovider:).md)
