<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macOS: 11.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "FileProvider",
  "identifier" : "/documentation/FileProvider/NSFileProviderReplicatedExtension",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "File Provider"
    ],
    "preciseIdentifier" : "c:objc(pl)NSFileProviderReplicatedExtension"
  },
  "title" : "NSFileProviderReplicatedExtension"
}
-->

# NSFileProviderReplicatedExtension

A File Provider extension in which the system replicates the contents on disk.

```
protocol NSFileProviderReplicatedExtension : NSFileProviderEnumerating
```

## Topics

### Creating and Removing File Providers

[`init(domain:)`](/documentation/FileProvider/NSFileProviderReplicatedExtension/init(domain:))

Creates an instance of the file provider for the specified domain.

[`invalidate()`](/documentation/FileProvider/NSFileProviderReplicatedExtension/invalidate())

Tells the file provider to perform any necessary cleanup so that the system can deallocate it.

### Accessing Remote Content

[`item(for:request:completionHandler:)`](/documentation/FileProvider/NSFileProviderReplicatedExtension/item(for:request:completionHandler:))

Asks the file provider for the metadata of the provided item.

[`fetchContents(for:version:request:completionHandler:)`](/documentation/FileProvider/NSFileProviderReplicatedExtension/fetchContents(for:version:request:completionHandler:))

Tells the file provider to download the requested item from remote storage.

### Managing Items

[`createItem(basedOn:fields:contents:options:request:completionHandler:)`](/documentation/FileProvider/NSFileProviderReplicatedExtension/createItem(basedOn:fields:contents:options:request:completionHandler:))

Tells the file provider to create or import an item based on a template.

[`NSFileProviderCreateItemOptions`](/documentation/FileProvider/NSFileProviderCreateItemOptions)

Options for creating items.

[`modifyItem(_:baseVersion:changedFields:contents:options:request:completionHandler:)`](/documentation/FileProvider/NSFileProviderReplicatedExtension/modifyItem(_:baseVersion:changedFields:contents:options:request:completionHandler:))

Tells the file provider that an item’s content or metadata changed.

[`NSFileProviderModifyItemOptions`](/documentation/FileProvider/NSFileProviderModifyItemOptions)

Options for modifying items.

[`deleteItem(identifier:baseVersion:options:request:completionHandler:)`](/documentation/FileProvider/NSFileProviderReplicatedExtension/deleteItem(identifier:baseVersion:options:request:completionHandler:))

Tells the file provider to delete an item forever.

[`NSFileProviderDeleteItemOptions`](/documentation/FileProvider/NSFileProviderDeleteItemOptions)

Options for deleting items.

### Tracking Materialized Items

[`materializedItemsDidChange(completionHandler:)`](/documentation/FileProvider/NSFileProviderReplicatedExtension/materializedItemsDidChange(completionHandler:))

Tells the file provider that the set of materialized items changed.

### Tracking Pending Items

[`pendingItemsDidChange(completionHandler:)`](/documentation/FileProvider/NSFileProviderReplicatedExtension/pendingItemsDidChange(completionHandler:))

Tells the file provider extension that the set of pending items has changed.

### Importing Domains

[`importDidFinish(completionHandler:)`](/documentation/FileProvider/NSFileProviderReplicatedExtension/importDidFinish(completionHandler:))

Tells the File Provider extension that the system finished importing items.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)