---
title: AppMigrationExtension
framework: appmigrationkit
role: symbol
role_heading: Protocol
path: appmigrationkit/appmigrationextension
---

# AppMigrationExtension

An app extension you extend to participate in data export and import.

## Declaration

```swift
protocol AppMigrationExtension : AppExtension, Sendable
```

## Overview

Overview During migration, the system calls your extension to collect and export its data to the receiving device. On import, the system calls your app extension just after app installation, but before the app is actually launchable. The protocols specific to import and export operations extend this type, such as ResourcesExportingWithOptions and ResourcesImporting. For your app extension to successfully export or import data in response to a system call, it needs to conform to one or more of these child protocols.

## Topics

### Accessing migration data

- [appContainer](appmigrationkit/appmigrationextension/appcontainer.md)
- [MigrationDataContainer](appmigrationkit/migrationdatacontainer.md)

## Relationships

### Inherits From

- [AppExtension](extensionfoundation/appextension.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

### Inherited By

- [ResourcesExporting](appmigrationkit/resourcesexporting.md)
- [ResourcesExportingWithOptions](appmigrationkit/resourcesexportingwithoptions.md)
- [ResourcesImporting](appmigrationkit/resourcesimporting.md)

## See Also

### App extensions

- [com.apple.developer.app-migration.data-container-access](bundleresources/entitlements/com.apple.developer.app-migration.data-container-access.md)
