Skip to main content
Apply .deepIDVAppearance(_:) to any SDK view. It reaches every screen that view shows.
Six iPhone screens in two rows. Top: the capture screen in three brands, identical layout with slightly different fonts and green tones. Bottom: the 'We couldn't read your ID' retry screen with a blue button on white, an indigo button on dark navy, and a square yellow button with black text and a bold Futura heading on white.

The same two screens: deepidv default, an indigo dark brand with Avenir Next, and a yellow light brand with square corners and a Futura heading.

Options

Every option is optional. Anything left nil keeps the deepidv default.

What stays fixed, and why

Text on your colors

Text on a color you set turns black or white, whichever reads better on it. A light accent such as yellow gets black text on its buttons; a mid or dark accent keeps white.

Fonts

Bundle your font files and list them under UIAppFonts in your app’s Info.plist. Use the family name (for example Avenir Next), not a file name. A family iOS can’t find falls back to the system font, so check every screen after you change fonts. Text sizes follow Dynamic Type.

Light and dark

Two iPhone screens of 'Thanks, you're done': one white with dark text, one dark navy with white text.

The closing screen in light and dark.

Without colorScheme, the SDK follows the system setting. Set it when your app has a fixed appearance.

Theme your whole flow

Put the modifier on the view you present. For UIKit, apply it inside the UIHostingController’s root view: