---
title: DDDevicePickerViewController
framework: devicediscoveryui
role: symbol
role_heading: Class
path: devicediscoveryui/dddevicepickerviewcontroller
---

# DDDevicePickerViewController

A UIKit view that displays other devices on the network, and creates an encrypted connection to a copy of your app running on that device.

## Declaration

```swift
class DDDevicePickerViewController
```

## Mentioned in

Connecting a tvOS app to other devices over the local network

## Overview

Overview Always display the device picker as a full-screen, modal view. If the user selects a device, the system sets the endpoint property and calls the endpointPickedHandler. // This example uses the default application services parameters; // however, you can add a `NWProtocolFramer` to provide application-level messaging. let parameters = NWParameters.applicationService

// Create the view controller for the endpoint picker. let devicePickerController = DDDevicePickerViewController(browseDescriptor: NWBrowser.Descriptor.applicationService(name: "MyAppService"),                                parameters: parameters)

// Show the network device picker as a full-screen, modal view. devicePickerController.modalTransitionStyle = .coverVertical show(devicePickerController, sender: nil)

let endpoint: NWEndpoint do {     endpoint = try await devicePickerController.endpoint } catch {     // A person canceled the endpoint picker view.     return }

// Use the endpoint here. myDeviceConnectionManager.connectTo(endpoint: endpoint)

## Topics

### Creating device picker view controllers

- [init(browseDescriptor:parameters:)](devicediscoveryui/dddevicepickerviewcontroller/init(browsedescriptor:parameters:).md)
- [init(browseDescriptor:parameters:access:)](devicediscoveryui/dddevicepickerviewcontroller/init(browsedescriptor:parameters:access:).md)

### Determining device support

- [isSupported(_:using:)](devicediscoveryui/dddevicepickerviewcontroller/issupported(_:using:).md)

### Accessing the selected endpoint

- [endpoint](devicediscoveryui/dddevicepickerviewcontroller/endpoint.md)

## Relationships

### Inherits From

- [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)
- [NSExtensionRequestHandling](foundation/nsextensionrequesthandling.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.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

### Pairing with nearby devices

- [DevicePicker](devicediscoveryui/devicepicker.md)
- [DevicePickerSupportedAction](devicediscoveryui/devicepickersupportedaction.md)
- [Connecting a tvOS app to other devices over the local network](devicediscoveryui/connecting-a-tvos-app-to-other-devices-over-the-local-network.md)
