---
title: File Provider
framework: File Provider
role: collection
role_heading: Framework
platforms: [iOS 11.0+, iPadOS 11.0+, Mac Catalyst 11.0+, macOS 10.15+, visionOS 1.0+]
path: fileprovider
---

# File Provider

An extension other apps use to access files and folders managed by your app and synced with a remote storage.

## Overview

Overview If your app focuses on providing and syncing user documents from remote storage, you can implement a File Provider extension to give users access to those documents when they’re using other apps. If you just need to share local documents, see Share files locally below.

The framework has two different starting points for building your File Provider extension. The replicated extension takes responsibility for monitoring and managing the local copies of your documents. The file provider focuses on syncing data between the local copy and the remote storage—uploading any local changes and downloading any remote changes. For more information, see Replicated File Provider extension. The nonreplicated extension manages a local copy of the extension’s content, including creating and managing placeholders for remote files. It also syncs the content with your remote storage. For more information, see Nonreplicated File Provider extension. Share files locally You don’t need a File Provider extension to allow access to documents that your app stores locally. In iOS, to give other apps access to the files in your Documents directory, set the following keys in your app’s Info tab or its Info.plist file. For document browser-based apps, set the UISupportsDocumentBrowser key. For all other apps, set both the UIFileSharingEnabled and LSSupportsOpeningDocumentsInPlace keys. After you set these keys, other apps can open and edit the contents of your Documents directory in place. Your files also appear in both the Files app and the document browser. For more information, see the UIDocumentBrowserViewController class.

## Topics

### Essentials

- [File Provider updates](updates/fileprovider.md)

### Extension types

- [Replicated File Provider extension](fileprovider/replicated-file-provider-extension.md)
- [Nonreplicated File Provider extension](fileprovider/nonreplicated-file-provider-extension.md)

### Extension management

- [NSFileProviderManager](fileprovider/nsfileprovidermanager.md)

### Provided items

- [NSFileProviderItem](fileprovider/nsfileprovideritem-swift.typealias.md)
- [NSFileProviderItemProtocol](fileprovider/nsfileprovideritemprotocol.md)
- [NSFileProviderItemIdentifier](fileprovider/nsfileprovideritemidentifier.md)
- [NSFileProviderItemCapabilities](fileprovider/nsfileprovideritemcapabilities.md)
- [NSFileProviderTypeAndCreator](fileprovider/nsfileprovidertypeandcreator.md)

### Cloud search

- [NSFileProviderSearching](fileprovider/nsfileprovidersearching.md)

### Domains

- [NSFileProviderDomain](fileprovider/nsfileproviderdomain.md)

### Errors

- [NSFileProviderError](fileprovider/nsfileprovidererror.md)
- [NSFileProviderError.Code](fileprovider/nsfileprovidererror/code.md)
- [NSFileProviderErrorDomain](fileprovider/nsfileprovidererrordomain.md)
- [NSFileProviderErrorItemKey](fileprovider/nsfileprovidererroritemkey.md)
- [NSFileProviderErrorNonExistentItemIdentifierKey](fileprovider/nsfileprovidererrornonexistentitemidentifierkey.md)
- [NSFileProviderErrorCollidingItemKey](fileprovider/nsfileprovidererrorcollidingitemkey.md)

### Data export

- [Exporting file provider metrics data](fileprovider/exporting-file-provider-metrics-data.md)

### Structures

- [NSFileProviderUserInfoKey](fileprovider/nsfileprovideruserinfokey.md)
- [NSFileProviderVolumeUnsupportedReason](fileprovider/nsfileprovidervolumeunsupportedreason.md)

### Enumerations

- [NSFileProviderNamespacePolicy](fileprovider/nsfileprovidernamespacepolicy.md)
