---
title: EXHostViewController
framework: extensionkit
role: symbol
role_heading: Class
path: extensionkit/exhostviewcontroller
---

# EXHostViewController

A view controller that hosts remote views provided by an app extension.

## Declaration

```swift
class EXHostViewController
```

## Mentioned in

Including extension-based UI in your interface

## Overview

Overview Present this view controller from your app’s interface to display the content for an associated app extension. Configure the view controller with the app extension identity and the specific scene you want to display. Use the associated delegate object to receive notifications when the app extension becomes active or inactive. For more information about presenting this view controller and using it to display an app extension’s UI, see Including extension-based UI in your interface.

## Topics

### Configuring the view controller

- [configuration](extensionkit/exhostviewcontroller/configuration-swift.property.md)
- [EXHostViewController.Configuration](extensionkit/exhostviewcontroller/configuration-swift.struct.md)
- [placeholderView](extensionkit/exhostviewcontroller/placeholderview.md)

### Connecting to the app extension

- [makeXPCConnection()](extensionkit/exhostviewcontroller/makexpcconnection().md)

### Responding to activation and deactivation events

- [delegate](extensionkit/exhostviewcontroller/delegate.md)
- [EXHostViewControllerDelegate](extensionkit/exhostviewcontrollerdelegate.md)

## Relationships

### Inherits From

- [NSViewController](appkit/nsviewcontroller.md)
- [UIViewController](uikit/uiviewcontroller.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSEditor](appkit/nseditor.md)
- [NSExtensionRequestHandling](foundation/nsextensionrequesthandling.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSeguePerforming](appkit/nssegueperforming.md)
- [NSStandardKeyBindingResponding](appkit/nsstandardkeybindingresponding.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [NSUserActivityRestoring](appkit/nsuseractivityrestoring.md)
- [NSUserInterfaceItemIdentification](appkit/nsuserinterfaceitemidentification.md)
- [UIActivityItemsConfigurationProviding](uikit/uiactivityitemsconfigurationproviding.md)
- [UIAppearanceContainer](uikit/uiappearancecontainer.md)
- [UIContentContainer](uikit/uicontentcontainer.md)
- [UIFocusEnvironment](uikit/uifocusenvironment.md)
- [UIPasteConfigurationSupporting](uikit/uipasteconfigurationsupporting.md)
- [UIResponderStandardEditActions](uikit/uiresponderstandardeditactions.md)
- [UIStateRestoring](uikit/uistaterestoring.md)
- [UITraitChangeObservable](uikit/uitraitchangeobservable-67e94.md)
- [UITraitEnvironment](uikit/uitraitenvironment.md)
- [UIUserActivityRestoring](uikit/uiuseractivityrestoring.md)

## See Also

### Host app presentation

- [Displaying the app extensions available to your app](extensionkit/displaying-the-app-extensions-available-to-your-app.md)
- [EXAppExtensionBrowserViewController](extensionkit/exappextensionbrowserviewcontroller.md)
