What problem does it solve?
AppMigrationKit solves the problem of one-time cross-platform migration by transferring an app’s user data from a source device or platform (like Android) to iOS during setup or onboarding.
Core Features & Use Cases
- Export app resources via an app extension: Package files for transfer using an
AppMigrationExtension that conforms to the appropriate exporting protocols.
- Import resources into the destination app: Receive transferred files and place them into the destination app container with progress reporting and error-aware recovery.
- Persist migration result for first-launch UI: Check
MigrationStatus.importStatus on first launch to show success/failure onboarding flows.
- Use platform-aware migration logic: Tailor export formats based on
destinationPlatform and handle sourceAppIdentifier and sourceVersion on import.
- Validate with test-only tooling: Use
AppMigrationTester in unit tests to verify export/import round trips without production usage.
Use case example: Migrate an existing user from an Android app to your Swift/iOS app by exporting account, profile, and app settings on Android, importing them on iOS during onboarding, and then showing a migration completion screen.
Quick Start
Use the app extension model to implement export and import for one-time onboarding migration, then validate the round-trip behavior with AppMigrationTester in tests.