---
title: "init(documentTypes:in:)"
framework: uikit
role: symbol
role_heading: Initializer
path: "uikit/uidocumentpickerviewcontroller/init(documenttypes:in:)"
---

# init(documentTypes:in:)

Creates and returns a document picker that can open or copy the specified file types.

## Declaration

```swift
init(documentTypes allowedUTIs: [String], in mode: UIDocumentPickerMode)
```

## Parameters

- `allowedUTIs`: An array of uniform type identifiers (UTIs). UTIs are strings that uniquely identify a file’s type. For more information, see https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/understanding_utis/understand_utis_intro/understand_utis_intro.html#//apple_ref/doc/uid/TP40001319.
- `mode`: The type of file-transfer operation that the document picker performs. This argument accepts only the doc://com.apple.uikit/documentation/UIKit/UIDocumentPickerMode/import or doc://com.apple.uikit/documentation/UIKit/UIDocumentPickerMode/open mode.

## Return Value

Return Value Returns an initialized UIDocumentPickerViewController object, or nil if the object could not be successfully initialized.

## Discussion

Discussion In iOS 10 and earlier, this method returns the document picker view controller from the most recently used Document Provider extension. If no valid Document Provider can be found, it defaults back to iCloud Drive. In iOS 11 and later, it returns the standard browser interface. This interface is the same one used by the UIDocumentBrowserViewController class.

## See Also

### Deprecated

- [init(url:in:)](uikit/uidocumentpickerviewcontroller/init(url:in:).md)
- [init(urls:in:)](uikit/uidocumentpickerviewcontroller/init(urls:in:).md)
