--- title: "iOS migration guide | Veriff.com" slug: "ios-migration-guide" description: "Update to newer Veriff iOS SDK versions." updated: 2026-03-16T12:24:29Z published: 2026-03-16T12:24:29Z canonical: "devdocs.veriff.com/ios-migration-guide" --- > ## Documentation Index > Fetch the complete documentation index at: https://devdocs.veriff.com/llms.txt > Use this file to discover all available pages before exploring further. # iOS SDK migration guide ## Migrating Veriff iOS SDK from 9 to 10 ### Update `VeriffSdk.Branding` object **Following configurations are added:** - `onCameraOverlaySecondary` - `feedbackSuccessBackground` - `onFeedbackSuccess` - `feedbackErrorBackground` - `onFeedbackError` **Following configurations will be deprecated in the next major release:** - `error` - replaced by `onFeedbackError` - `success` - replaced by `onFeedbackSuccess` ## Migrating Veriff iOS SDK from 8 to 9 - Minimum version was bumped to iOS 15.0 - 2 new methods were added to the `VeriffSdkDelegate`, check out [**iOS SDK: NFC data listener**](https://devdocs.veriff.com/docs/ios-sdk-nfc-data-listener) article for more info - New `uploadLimitReached` error was added to the `Veriff.Error` enum ## Migrating Veriff iOS SDK from 7 to 8 - Veriff’s API become MainActor isolated - The NFC scanning logic was moved into separate framework. Check out [**Enable NFC scanning**](https://devdocs.veriff.com/docs/ios-sdk-guide#enable-nfc-scanning) guide. ## Migrating Veriff iOS SDK from 6 to 7 ### Minimum iOS supported version increased Minimum version is iOS 13.0. ## Migrating Veriff iOS SDK from 5 to 6 ### Update `VeriffSdk.Branding` object **Following configurations are added:** - `background` - `onBackground` - `onBackgroundSecondary` - `onBackgroundTertiary` - `primary` - `onPrimary` - `secondary` - `onSecondary` - `outline` - `error` - `success` **Following configurations are removed:** - `themeColor` - `backgroundColor` - `primaryTextColor` - `rimaryButtonBackgroundColor` - `bulletPoint` **Following configurations are deprecated:** - `logomark` not used anymore **Following configurations are renamed:** - `buttonCornerRadius` -> `buttonRadius` ## Migrating Veriff iOS SDK from 4 to 5 ### Minimum iOS supported version increased Minimum version is iOS 11.0. ### Updates to `VeriffSdk.Branding` object **Following configurations are removed:** - `buttonHeight` - `statusBarColor` - `secondaryTextColor` - `isTextUppercase` **Changes to the fonts API:** - `lightFontName` is removed - `regularFontName`, `semiBoldFontName` and `boldFontName` are renamed to `regular`, `medium` and `bold`. **Following configurations are added:** - `logomark` customization ## Migrating Veriff iOS SDK from 3 to 4 `Veriff` **instances renamed to** `VeriffSdk` The name `Veriff` was used both for our module and public class name. This blocked us from supporting Swift Package Manager due to [Swift compiler bug](https://bugs.swift.org/browse/SR-898). We renamed our public class name to `VeriffSdk`. **Following structs have been moved:** - `VeriffConfiguration` struct is moved under `VeriffSdk.Configuration` (replace the occurrences of `VeriffConfiguration` with `VeriffSdk.Configuration`) - `Branding` `VeriffSdk.Branding` (replace the occurrences of `Branding` with `VeriffSdk.Branding`) - `VeriffDelegate` struct is moved under `VeriffSdkDelegate `(replace the occurrences of `VeriffDelegate` with `VeriffSdkDelegate`) **Following are now mandatory:** - `VeriffSdk.Result.description` (if you had issues with unwrapping it, feel free to remove it) **Other changes** `VeriffSdk.Result.sessionToken` removed and `VeriffSdk.Result.sessionUrl` added instead. Remove the occurrences of `sessionToken`. You can now use `sessionUrl` to get the full `sessionUrl` including token. ## Migrating Veriff iOS SDK to 3 **Switch from** `baseUrl` **and** `sessionToken` **to** `sessionUrl` The `Veriff` object in the SDK 3.0.0 takes a required `sessionUrl` and an optional `VeriffConfiguration` instance as parameters into initialisation. The `sessionUrl` is received from your backend implementation (namely the respone of the [POST /sessions](https://veriff-dev-documentation.document360.io/apidocs/v1sessions)[↗] call), it is composed of the `baseUrl` and `sessionToken` sent to the `VeriffConfiguration` object in earlier versions. **Updated** `VeriffConfiguration` **object** The `VeriffConfiguration` struct now takes in `branding` and `languageLocale` as initialisation parameters. **The new** `VeriffDelegate` **method** You can now receive session results via `func sessionDidEndWithResult(_ result: Veriff.Result)` instead of the obsolete `func onSession(result: VeriffResult, sessionToken: String)`. The `sessionToken` is included in the `Veriff.Result` as an instance variable. **Use** `Veriff.Result` **instead of** `VeriffResult` The new `Veriff.Result` struct comprises `status: Status` and `sessionToken: String?` instance variables. The `Status` enum can be of three types: `done`, `canceled`, `error`. The `description` variable on the `Veriff.Result` returns additional information as a string. --- ## Changelog | Date | Description | | --- | --- | | Mar 16, 2026 | [Migrating Veriff iOS SDK from 9 to 10](/v1/docs/ios-migration-guide#migrating-veriff-ios-sdk-from-9-to-10) added | | Feb 3, 2026 | [Migrating Veriff iOS SDK from 8 to 9](/v1/docs/ios-migration-guide#migrating-veriff-ios-sdk-from-8-to-9) added | | Jun 6, 2025 | Header “Article versioning” renamed to “Changelog” | | Apr 23, 2025 | **Enable NFC scanning** section added | | Mar 12, 2025 | Documentation published | ## Related - [iOS SDK guide](/ios-sdk-guide.md) - [iOS SDK changelog](/ios-changelog.md) - [Intro to the API](/quick-guide-of-idv-using-the-api.md)