Migration Guide
This guide helps you upgrade your MetaMap iOS SDK integration between major versions and handle breaking changes.Current Version
The latest stable version is 3.22.8, which is both the LTS (Long-Term Support) and current version.Upgrading to 3.22.x
From 3.21.x to 3.22.x
What’s New
createVerificationCallbackadded (3.22.8)- Resume verification after interruptions (3.22.4)
- Enhanced liveness checks with face mask and lens detection (3.22.2)
- Incode SDK integration for selfie and document verification (3.22.0)
Breaking Changes
-
identityId parameter: Version 3.22.7 added
identityIdandverificationIdparameters to theverificationCancelledmethod. Before (3.21.x):After (3.22.7+):
Migration Steps
-
Update your Podfile:
-
Run pod install:
-
Update your delegate implementation if using
verificationCancelled: - Test interruption scenarios (phone calls, app backgrounding) to verify resume functionality.
Upgrading to 3.20.x
From 3.19.x to 3.20.x
What’s New
- Updated user consent flow
- Multi-page PDF upload support in document verification
- Option to skip OTP screen in phone verification
No Breaking Changes
This is a backward-compatible update. Simply update your Podfile and runpod install.
Migration Steps
-
Update Podfile:
- If using phone verification, you can now skip OTP via flow configuration (no code changes needed).
Upgrading to 3.18.x
From 3.17.x to 3.18.x
What’s New
- Dynamic input support
- Enhanced customization for pre-load and shimmering screens
- Font and color customization for dynamic input screens
- Updated Sentry to 8.18.0
Migration Steps
-
Update Podfile:
- If you previously had Sentry conflicts, version 3.18.1 resolves vulnerabilities. No code changes required.
-
To customize dynamic input screens, add metadata:
Upgrading to 3.16.x
From 3.15.x to 3.16.x
What’s New
- Full font customization support
- Comprehensive color customization
- Option to remove “Powered by MetaMap” branding
Migration Steps
-
Update Podfile:
-
Add custom fonts to your project:
- Add font files to your Xcode project
- Update Info.plist:
-
Apply fonts via metadata:
Upgrading to 3.14.x
From 3.13.x to 3.14.x
What’s New
- Idemia SDK integration via WebView
- Encryption configuration ID parameter
- PRS (Personal Risk Score) support
- Smart capture with Vision
- Re-usage and revision features
New Features to Implement
-
Encryption Configuration (if needed):
-
Re-verification:
-
Update Podfile:
Upgrading to 3.13.x
From 3.12.x to 3.13.x
What’s New
- Video agreement feature support
- Complete UI redesign for all verification steps
- Updated Socket.io to version .three
- IP restriction displayed before start screen
Breaking Changes
Major UI redesign may affect custom styling expectations. Review your app’s integration to ensure visual consistency.Migration Steps
-
Update Podfile:
- Test all verification flows to ensure the new UI meets your expectations.
- Note: SDK download size reduced to 3.66 MB in version 3.13.2.
Upgrading to 3.12.x
From 3.11.x to 3.12.x
Breaking Changes
- Podspec name change:
MetaMap-ID-SDK.podspecrenamed toMetaMapSDK.podspec
Migration Steps
-
Update your Podfile:
Before:
After:
-
Run:
- Clean build folder in Xcode (Shift + Cmd + K)
- No code changes required in your implementation.
Upgrading to 3.10.x
From 3.9.x to 3.10.x
What’s New
- Dark mode support
- Country restriction enable mode
- Error codes/IDs added to error screens
- Complete UI refactoring
Migration Steps
-
Update Podfile:
-
Test your app in both light and dark mode:
- Open Settings > Developer > Dark Appearance
- Or use Xcode’s environment override
- Verify error handling displays proper error codes.
Upgrading to 3.9.x (Mati → MetaMap Rebrand)
From 3.8.x to 3.9.x
Breaking Changes
- Major rebrand from Mati to MetaMap (version 3.9.3)
- Class names remain the same for backward compatibility
- Visual branding updated throughout SDK
Migration Steps
-
Update Podfile:
-
Update Info.plist descriptions to reference MetaMap:
- No code changes required - SDK maintains API compatibility.
- String resources now use “metaMap_” prefix (version 3.9.11).
Best Practices for Migration
Pre-Migration Checklist
- Review the changelog for your target version
- Check minimum requirements:
- iOS 13.0+
- Swift 5.7+
- Xcode 14.0+
- Backup your project or commit to version control
- Test on a development environment first
Testing After Migration
-
Clean Build:
Then clean build folder in Xcode.
-
Test Core Flows:
- SDK initialization
- Document verification
- Selfie/liveness verification
- Phone/email verification
- Flow completion and callbacks
-
Test Edge Cases:
- Network disconnection during verification
- App backgrounding and resumption
- Permission denials
- Different device orientations (especially on iPad)
-
Test UI Customizations:
- Custom colors
- Custom fonts
- Dark mode appearance
- Localization in different languages
Rollback Plan
If issues occur after migration:-
Revert Podfile to previous version:
-
Run:
- Clean build and test.
- Report issues to GitHub.
Version Support Policy
- LTS Version: 3.22.8 - Recommended for production use
- Current Version: 3.22.8 - Latest features and fixes
- Minimum Supported: We recommend staying within 3 major versions of the current release
Getting Help
If you encounter issues during migration:- Check the troubleshooting guide
- Review GitHub issues
- Contact MetaMap support with:
- Current SDK version
- Target SDK version
- Migration steps attempted
- Error logs or unexpected behavior