---
title: "init(preparationHandler:)"
framework: groupactivities
role: symbol
role_heading: Initializer
path: "groupactivities/groupactivitysharingcontroller-4gtfk/init(preparationhandler:)"
---

# init(preparationHandler:)

Initializes the SharePlay sharing controller with a closure that creates the activity object.

## Declaration

```swift
@MainActor init<ActivityType>(preparationHandler: @escaping () async throws -> ActivityType) where ActivityType : GroupActivity
```

## Parameters

- `preparationHandler`: A closure that takes no parameters and returns the activity object.

## Discussion

Discussion The initializer executes the closure asynchronously so that your app can present the view controller in a timely manner. Use this method when the creation of the GroupActivity object might take a significant amount of time.

## See Also

### Creating the group activity sharing controller

- [init(_:)](groupactivities/groupactivitysharingcontroller-4gtfk/init(_:).md)
