---
title: MPMediaPickerController
framework: mediaplayer
role: symbol
role_heading: Class
path: mediaplayer/mpmediapickercontroller
---

# MPMediaPickerController

A specialized view controller that provides a graphical interface for selecting media items.

## Declaration

```swift
class MPMediaPickerController
```

## Overview

Overview An MPMediaPickerController object, or media item picker, is a specialized view controller that you employ to provide a graphical interface for selecting media items. To display a media item picker, present it modally on an existing view controller. Presenting an MPMediaPickerController in non-modal mode; for example, pushing a MPMediaPickerController onto an existing UINavigationController stack causes your app to crash. MPMediaItem describes media items. To respond to user selections and to dismiss a media item picker, use the MPMediaPickerControllerDelegate protocol. note: The MPMediaPickerController class supports portrait mode only. This class doesn’t support subclassing, and don’t modify the view hierarchy, which is private. In a compatible iPad or iPhone app in visionOS, presenting this picker displays an alert notifying the person that picking media items isn’t supported.

## Topics

### Initializing a media item picker

- [init(mediaTypes:)](mediaplayer/mpmediapickercontroller/init(mediatypes:).md)

### Responding to media item picker selections

- [delegate](mediaplayer/mpmediapickercontroller/delegate.md)
- [MPMediaPickerControllerDelegate](mediaplayer/mpmediapickercontrollerdelegate.md)

### Using a media item picker

- [allowsPickingMultipleItems](mediaplayer/mpmediapickercontroller/allowspickingmultipleitems.md)
- [showsCloudItems](mediaplayer/mpmediapickercontroller/showsclouditems.md)
- [mediaTypes](mediaplayer/mpmediapickercontroller/mediatypes.md)
- [prompt](mediaplayer/mpmediapickercontroller/prompt.md)
- [showsItemsWithProtectedAssets](mediaplayer/mpmediapickercontroller/showsitemswithprotectedassets.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)
- [NSTouchBarProvider](appkit/nstouchbarprovider.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

### Media player user interface

- [Displaying a media picker from your app](mediaplayer/displaying-a-media-picker-from-your-app.md)
- [MPVolumeView](mediaplayer/mpvolumeview.md)
