<!--
{
  "availability" : [
    "iOS: 6.0.0 -",
    "iPadOS: 6.0.0 -",
    "macCatalyst: 13.1.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIActivityViewController",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIActivityViewController"
  },
  "title" : "UIActivityViewController"
}
-->

# UIActivityViewController

A view controller that you use to offer standard services from your app.

```
class UIActivityViewController
```

## Overview

The system provides several standard services, such as copying items to the pasteboard, posting content to social media sites, sending items via email or SMS, and more. Apps can also define custom services.

Your app is responsible for configuring, presenting, and dismissing this view controller. Configuration for the view controller involves specifying the data objects on which the view controller should act. (You can also specify the list of custom services your app supports.) When presenting the view controller, you must do so using the appropriate means for the current device. On iPad, you must present the view controller in a popover. On iPhone and iPod touch, you must present it modally.

## Topics

### Initializing the activity view controller

[`init(activityItems:applicationActivities:)`](/documentation/UIKit/UIActivityViewController/init(activityItems:applicationActivities:))

Initializes a new activity view controller object that acts on the specified data.

[`init(activityItemsConfiguration:)`](/documentation/UIKit/UIActivityViewController/init(activityItemsConfiguration:))

Initializes a new activity view controller object that acts on the specified configuration.

[`UIActivityItemsConfiguration`](/documentation/UIKit/UIActivityItemsConfiguration)

A configuration that allows a responder to export data through a variety of interactions.

[`UIActivityItemsConfigurationReading`](/documentation/UIKit/UIActivityItemsConfigurationReading)

A set of methods adopted by an object so that the object can act as an activity items configuration.

### Accessing the completion handler

[`completionWithItemsHandler`](/documentation/UIKit/UIActivityViewController/completionWithItemsHandler-swift.property)

The completion handler to execute after the activity view controller is dismissed.

[`UIActivityViewController.CompletionWithItemsHandler`](/documentation/UIKit/UIActivityViewController/CompletionWithItemsHandler-swift.typealias)

A completion handler to execute after the activity view controller is dismissed.

### Excluding specific activity types

[`excludedActivityTypes`](/documentation/UIKit/UIActivityViewController/excludedActivityTypes)

The list of services that should not be displayed.

### Excluding specific sections

[`excludedActivitySectionTypes`](/documentation/UIKit/UIActivityViewController/excludedActivitySectionTypes)

Hides some sections of the activity view controller. Default is none

[`UIActivitySectionTypes`](/documentation/UIKit/UIActivitySectionTypes)

### Elevating a prominent activity

[`allowsProminentActivity`](/documentation/UIKit/UIActivityViewController/allowsProminentActivity)

A Boolean value the system uses to elevate a system activity to make it more prominent.

### Deprecated

[`completionHandler`](/documentation/UIKit/UIActivityViewController/completionHandler-swift.property)

The completion handler to execute after the activity view controller is dismissed.

[`UIActivityViewController.CompletionHandler`](/documentation/UIKit/UIActivityViewController/CompletionHandler-swift.typealias)

A completion handler to execute after the activity view controller is dismissed.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)