<!--
{
  "documentType" : "article",
  "framework" : "Professional Video Applications",
  "identifier" : "/documentation/Professional-Video-Applications/importing-fcpxml-data",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "Importing FCPXML Data"
}
-->

# Importing FCPXML Data

Import data from Final Cut Pro to your app by using FCPXML.

## Discussion

FCPXML is a specialized format that uses XML elements to describe data that users send from Final Cut Pro to your app. Using FCPXML documents, your app can receive data from Final Cut Pro and then further process that data.

When your users choose to export XML from Final Cut Pro, they can select the XML version, either Current or Previous, for the export. When a user selects the Current version (FCPXML 1.10), Final Cut Pro exports a `.fcpxmld` bundle and an `Info.fcpxml` document located at the root of the bundle directory. Your app must support the `.fcpxmld` and `.fcpxml` document types. When a user selects the Previous version (FCPXML 1.9), Final Cut Pro exports a single `.fcpxml` document.

### Add support for FCPXML documents and bundles

To add support for FCPXML documents and bundles to your app, update your project’s `Info.plist` file to include the `.fcpxml` and `.fcpxmld` document types. For information on modifying the document type, see the <doc://com.apple.documentation/documentation/AppKit/developing-a-document-based-app> section of the sample code, Developing a Document-Based App.

![The Xcode Information Property List table that shows the Key, Type, and Value columns. The Key column shows the  Information Property List first with nested Document Types. Update the Document Type Definitions to include the F C P X M L and F C P X M L D document types.](images/com.apple.professionalvideoapplications/media-3875711@2x.png)

### Check the extension when your app opens a file URL

When your app opens a file URL, your app must check the extension to determine whether the URL points to a `.fcpxml` document or a `.fcpxmld` bundle.

When your app receives a bundle, open and parse the `Info.fcpxml` file at the root of the bundle directory.

```swift
@main
class AppDelegate: NSObject, NSApplicationDelegate {

    func application(_ application: NSApplication, open urls: [URL]) {
        let fcpxmlFileExtension = "fcpxml"
        let fcpxmlBundleExtension = "fcpxmld"
        for url in urls {
            switch url.pathExtension {
            case fcpxmlFileExtension:
                openFCPXMLDocument(at: url)
            case fcpxmlBundleExtension:
                let fcpxmlFileName = "Info.fcpxml"
                let fcpxmlFileURL = url.appendingPathComponent(fcpxmlFileName)
                openFCPXMLDocument(at: fcpxmlFileURL)
            default:
                continue
            }
        }
    }

    func openFCPXMLDocument(at url: URL) {}

}
```

For information on examples of FCPXML documents, see [Describing Final Cut Pro Items in FCPXML](/documentation/Professional-Video-Applications/describing-final-cut-pro-items-in-fcpxml).

---

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)