---
title: AppMigrationKit
framework: AppMigrationKit
role: collection
role_heading: Framework
platforms: [iOS 26.1+, iPadOS 26.1+]
path: appmigrationkit
---

# AppMigrationKit

Perform a one-time transfer of your app’s on-device data to or from a device running another platform.

## Overview

Overview Use AppMigrationKit to export your app’s on-device data to another device running a non-Apple platform, or to import from another platform, or both. To participate in a cross-platform migration, your app creates an app extension that conforms to the AppMigrationExtension protocol and at least one of its subprotocols. The protocols you adopt indicate whether your app imports data, exports data, or both. If your app also stores data in the cloud, have the app on the other platform retrieve that data after after the migration completes. Similarly, when importing from another platform, retrieve any cloud data after migration completes. note: AppMigrationKit only supports migration to and from non-Apple platforms, such as Android. The system doesn’t use the framework for migration between iOS or iPadOS devices. The framework also has no functionality in iOS apps running in visionOS or in macOS on Apple silicon. The framework ignores calls from Mac apps built with Mac Catalyst.

## Topics

### App extensions

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

### Export operations

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

### Import operations

- [ResourcesImporting](appmigrationkit/resourcesimporting.md)

### Migration status

- [MigrationStatus](appmigrationkit/migrationstatus.md)

### Migration code tests

- [AppMigrationTester](appmigrationkit/appmigrationtester.md)
