---
title: "performActivity(options:reason:using:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/processinfo/performactivity(options:reason:using:)"
---

# performActivity(options:reason:using:)

Synchronously perform an activity defined by a given block using the given options.

## Declaration

```swift
func performActivity(options: ProcessInfo.ActivityOptions = [], reason: String, using block: @escaping () -> Void)
```

## Parameters

- `options`: Options for the activity. See doc://com.apple.foundation/documentation/Foundation/ProcessInfo/ActivityOptions for possible values.
- `reason`: A string used in debugging to indicate the reason the activity began.
- `block`: A block containing the work to be performed by the activity.

## Discussion

Discussion The activity will be automatically ended after block returns.

## See Also

### Managing activities

- [beginActivity(options:reason:)](foundation/processinfo/beginactivity(options:reason:).md)
- [endActivity(_:)](foundation/processinfo/endactivity(_:).md)
- [performExpiringActivity(withReason:using:)](foundation/processinfo/performexpiringactivity(withreason:using:).md)
- [ProcessInfo.ActivityOptions](foundation/processinfo/activityoptions.md)
