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

# NSFileProviderItemProtocol

A protocol that defines the properties of an item managed by the File Provider extension.

```
protocol NSFileProviderItemProtocol : NSObjectProtocol
```

## Overview

Most of these properties are optional. A File Provider extension doesn’t need to implement all properties for all items.

## Topics

### Providing Required Properties

[`itemIdentifier`](/documentation/FileProvider/NSFileProviderItemProtocol/itemIdentifier)

The item’s persistent identifier.

[`filename`](/documentation/FileProvider/NSFileProviderItemProtocol/filename)

The item’s filename.

[`typeIdentifier`](/documentation/FileProvider/NSFileProviderItemProtocol/typeIdentifier)

The item’s Uniform Type Identifier (UTI).

[`contentType`](/documentation/FileProvider/NSFileProviderItemProtocol/contentType)

The item’s Uniform Type Identifier (UTI).

[`capabilities`](/documentation/FileProvider/NSFileProviderItemProtocol/capabilities)

The item’s capabilities.

### Managing Content

[`childItemCount`](/documentation/FileProvider/NSFileProviderItemProtocol/childItemCount)

The number of items contained by this item.

[`documentSize`](/documentation/FileProvider/NSFileProviderItemProtocol/documentSize)

The document’s size, in bytes.

[`contentPolicy`](/documentation/FileProvider/NSFileProviderItemProtocol/contentPolicy)

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

### Specifying Content Location

[`parentItemIdentifier`](/documentation/FileProvider/NSFileProviderItemProtocol/parentItemIdentifier)

The persistent identifier of the item’s parent folder.

[`isTrashed`](/documentation/FileProvider/NSFileProviderItemProtocol/isTrashed)

A Boolean value that indicates whether an item is in the trash.

[`symlinkTargetPath`](/documentation/FileProvider/NSFileProviderItemProtocol/symlinkTargetPath)

The target of the symlink.

### Tracking Usage

[`contentModificationDate`](/documentation/FileProvider/NSFileProviderItemProtocol/contentModificationDate)

The date the item was last modified.

[`creationDate`](/documentation/FileProvider/NSFileProviderItemProtocol/creationDate)

The date the item was created.

[`lastUsedDate`](/documentation/FileProvider/NSFileProviderItemProtocol/lastUsedDate)

The date the item was last used.

### Tracking Versions

[`itemVersion`](/documentation/FileProvider/NSFileProviderItemProtocol/itemVersion)

A version object that tracks changes to an item.

[`versionIdentifier`](/documentation/FileProvider/NSFileProviderItemProtocol/versionIdentifier)

A data value used to determine when the item changes.

[`isMostRecentVersionDownloaded`](/documentation/FileProvider/NSFileProviderItemProtocol/isMostRecentVersionDownloaded)

A Boolean value that indicates whether the item is the most recent version downloaded from the server.

### Monitoring File Transfers

[`isUploading`](/documentation/FileProvider/NSFileProviderItemProtocol/isUploading)

A Boolean value that indicates whether the item is currently uploading to your remote server.

[`isUploaded`](/documentation/FileProvider/NSFileProviderItemProtocol/isUploaded)

A Boolean value that indicates whether the item has been uploaded to your remote server.

[`uploadingError`](/documentation/FileProvider/NSFileProviderItemProtocol/uploadingError)

An object describing an error that occurred while uploading the item.

[`isDownloading`](/documentation/FileProvider/NSFileProviderItemProtocol/isDownloading)

A Boolean value that indicates whether the item is currently downloading from your remote server.

[`isDownloaded`](/documentation/FileProvider/NSFileProviderItemProtocol/isDownloaded)

A Boolean value that indicates whether the item has been downloaded from your remote server.

[`downloadingError`](/documentation/FileProvider/NSFileProviderItemProtocol/downloadingError)

An object describing an error that occurred while downloading the item.

### Sharing

[`isShared`](/documentation/FileProvider/NSFileProviderItemProtocol/isShared)

A Boolean value that indicates whether the item is shared with other users.

[`isSharedByCurrentUser`](/documentation/FileProvider/NSFileProviderItemProtocol/isSharedByCurrentUser)

A Boolean value that indicates whether the item was shared by the current user.

[`mostRecentEditorNameComponents`](/documentation/FileProvider/NSFileProviderItemProtocol/mostRecentEditorNameComponents)

The most recent editor’s name.

[`ownerNameComponents`](/documentation/FileProvider/NSFileProviderItemProtocol/ownerNameComponents)

The name of the item’s owner.

### Managing Metadata

[`extendedAttributes`](/documentation/FileProvider/NSFileProviderItemProtocol/extendedAttributes)

The extended file attributes synced by the File Provider extension.

[`fileSystemFlags`](/documentation/FileProvider/NSFileProviderItemProtocol/fileSystemFlags)

Flags that define an item’s on-disk properties and its appearance in the user interface.

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

Flags that define an item’s on-disk properties and its appearance in the user interface.

[`tagData`](/documentation/FileProvider/NSFileProviderItemProtocol/tagData)

An abstract data blob representing the tags associated with the item.

[`userInfo`](/documentation/FileProvider/NSFileProviderItemProtocol/userInfo)

A property list that contains additional data about the item.

[`favoriteRank`](/documentation/FileProvider/NSFileProviderItemProtocol/favoriteRank)

A 64-bit, unsigned integer indicating the order of the favorite item in the Favorites list.

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

A value that indicates that the item is not ranked.

[`typeAndCreator`](/documentation/FileProvider/NSFileProviderItemProtocol/typeAndCreator)

The file type and creator codes for the item.



---

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)