Fixes for common iOS SDK problems: the camera won’t open, auto-capture never fires, the document isn’t recognized, sessions fail with conflict, and more.
Cause: the user denied camera access, or it’s restricted by Screen Time or device management.
Fix: the screen’s Open Settings button takes the user there. Your app also receives .failure with kind .cameraPermissionDenied.
Cause: you’re on the iOS Simulator, which has no camera, or another app or view holds the camera.
Fix: test on a real device. Present only one SDK camera view at a time.
Cause: the workflow contains a step the SDK can’t run. Supported steps are ID verification and face liveness.
Fix: run the other steps elsewhere, or use a workflow with only these steps.
Cause: the key or token in apiKey was rejected, by deepidv or by your proxy.
Fix: in proxy mode, check your proxy accepts the user’s token and adds the deepidv key. Never ship the deepidv key in the app.
the SDK version and iOS version, and the device model;
the session ID or re-verification ID;
error.kind, error.apiCode and error.code;
what the user saw, and roughly when.
Don’t send API keys, user tokens, or photos of anyone’s ID or face. The session ID is enough for us to find the details.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"deepidv","colors":{"primary":"#1E7FE0","light":"#22B8F0","dark":"#1456A0"},"logo":{"light":"https://mintcdn.com/deep-identity-inc/iEa1biN40aTilpTP/logo/logo-full-black.svg?fit=max\u0026auto=format\u0026n=iEa1biN40aTilpTP\u0026q=85\u0026s=a577cb0e581db37558215bbd72f08dc6","dark":"https://mintcdn.com/deep-identity-inc/iEa1biN40aTilpTP/logo/logo-full-white.svg?fit=max\u0026auto=format\u0026n=iEa1biN40aTilpTP\u0026q=85\u0026s=b496e0504aeac4cc1b4e3fa2b5672d3e"},"favicon":"https://mintcdn.com/deep-identity-inc/iEa1biN40aTilpTP/logo/favicon.svg?fit=max\u0026auto=format\u0026n=iEa1biN40aTilpTP\u0026q=85\u0026s=317a65c523baba0dd43be8939720010d","api":{"mdx":{"server":"https://api.deepidv.com"}},"navbar":{"links":[{"href":"mailto:support@deepidv.com","label":"Support"}],"primary":{"type":"button","label":"Admin Console","href":"https://app.deepidv.com"}},"footer":{"socials":{"x":"https://x.com/deepidv","linkedin":"https://linkedin.com/company/deepidv"}},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","claude","chatgpt","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"API Reference","icon":"code","href":"/api-reference/sessions/create-session"},{"anchor":"Admin Console","icon":"layout-grid","href":"https://app.deepidv.com"},{"anchor":"Agent Skills","icon":"bot","href":"https://github.com/Deep-Identity-Inc/agent-skills"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"deep-identity-inc","hasAudioNarration":false,"actualSubdomain":"deep-identity-inc","customDomains":["docs.deepidv.com"],"gitSource":{"type":"github","owner":"deep-identity-inc","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af42bf90b89564432bc6ac2","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"API Reference","count":47},{"language":"default","tag":"Integrate / SDKs","count":44},{"language":"default","tag":"iOS","count":30},{"language":"default","tag":"Get Started","count":17},{"language":"default","tag":"Chain Layer","count":12},{"language":"default","tag":"TypeScript","count":11},{"language":"default","tag":"iGaming Self-Exclusion \u0026 Management","count":8},{"language":"default","tag":"Server SDK","count":7},{"language":"default","tag":"Server-to-Server","count":6},{"language":"default","tag":"Workflow Runner","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":".deepidv-section-header{display:flex;flex-direction:column;gap:4px;margin-top:2rem;margin-bottom:1.5rem}.deepidv-section-label{font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#1E7FE0;margin:0}.deepidv-section-title{font-size:1.75rem;font-weight:700;line-height:1.2;margin:0}.deepidv-section-title span{color:#1E7FE0}.deepidv-section-desc{font-size:1rem;color:#6B7280;margin:0.25rem 0 0 0}.deepidv-feature-grid{display:grid;grid-template-columns:repeat(var(--grid-cols, 3), 1fr);gap:1rem;margin-top:1rem;margin-bottom:1rem}@media (max-width: 768px){.deepidv-feature-grid{grid-template-columns:1fr}}.deepidv-feature-card{display:flex;flex-direction:column;gap:0.75rem;padding:1.25rem;border:1px solid #E5E7EB;border-radius:12px;background:#ffffff;transition:border-color 0.15s ease, box-shadow 0.15s ease;height:100%}:root.dark .deepidv-feature-card{background:#1a1a2e;border-color:#2d2d44}.deepidv-feature-card:hover{border-color:#1E7FE0;box-shadow:0 2px 8px rgba(30, 127, 224, 0.08)}.deepidv-feature-card-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#1E7FE0;flex-shrink:0}.deepidv-feature-card-content{display:flex;flex-direction:column;gap:0.25rem}.deepidv-feature-card-title{font-size:0.9rem;font-weight:600;margin:0;line-height:1.3}.deepidv-feature-card-desc{font-size:0.825rem;color:#6B7280;margin:0;line-height:1.5}:root.dark .deepidv-feature-card-desc{color:#9CA3AF}.deepidv-feature-card-arrow{margin-top:auto;color:#1E7FE0;opacity:0;transition:opacity 0.15s ease}.deepidv-feature-card:hover .deepidv-feature-card-arrow{opacity:1}.deepidv-video-embed{position:relative;width:100%;padding-bottom:56.25%;margin:1.5rem 0;border-radius:12px;overflow:hidden;background:#000}.deepidv-video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;border-radius:12px}"}],"page":{"pagePath":"integrate/sdks/ios/troubleshooting","slug":"/integrate/sdks/ios/troubleshooting","pageMetadata":{"title":"Troubleshooting","description":"Fixes for common iOS SDK problems: the camera won't open, auto-capture never fires, the document isn't recognized, sessions fail with conflict, and more.","href":"/integrate/sdks/ios/troubleshooting"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Fixes for common iOS SDK problems: the camera won’t open, auto-capture never fires, the document isn’t recognized, sessions fail with conflict, and more.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Each entry starts with what you see.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-app-closes-when-the-camera-opens`,children:`The app closes when the camera opens`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` `,_jsx(_components.code,{children:`NSCameraUsageDescription`}),` is missing from your `,_jsx(_components.code,{children:`Info.plist`}),`. iOS ends the app without it.\n`,_jsx(_components.strong,{children:`Fix:`}),` add the key. See `,_jsx(_components.a,{href:`/integrate/sdks/ios/installation#declare-camera-access`,children:`Installation`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`”camera-access-is-off”`,children:`”Camera access is off”`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` the user denied camera access, or it’s restricted by Screen Time or device management.\n`,_jsx(_components.strong,{children:`Fix:`}),` the screen’s `,_jsx(_components.strong,{children:`Open Settings`}),` button takes the user there. Your app also receives `,_jsx(_components.code,{children:`.failure`}),` with kind `,_jsx(_components.code,{children:`.cameraPermissionDenied`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`the-camera-is-black`,children:`The camera is black`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` you’re on the iOS Simulator, which has no camera, or another app or view holds the camera.\n`,_jsx(_components.strong,{children:`Fix:`}),` test on a real device. Present only one SDK camera view at a time.`]}),`\n`,_jsx(Heading,{level:`2`,id:`auto-capture-never-fires`,children:`Auto-capture never fires`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Causes and fixes:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Glare or low light.`}),` The message says `,_jsx(_components.strong,{children:`Avoid the glare`}),`, or the frame never turns green. Move to even light.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The card is too small in the frame.`}),` `,_jsx(_components.strong,{children:`Move a little closer`}),`. On a tablet, the user may need to hold the card closer to the screen.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Movement.`}),` The bar resets if the card moves. Rest the card or the phone on something.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The wrong camera.`}),` A phone using `,_jsx(_components.code,{children:`.front`}),` asks the user to hold the card up to the selfie camera. Use `,_jsx(_components.code,{children:`.back`}),` on phones. See `,_jsx(_components.a,{href:`/integrate/sdks/ios/camera`,children:`Camera`}),`.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`The manual shutter appears after 8 seconds with a card in view, or 15 seconds at most, so the user is never stuck.`}),`\n`,_jsx(Heading,{level:`2`,id:`the-document’s-name-never-appears-on-the-frame`,children:`The document’s name never appears on the frame`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` document recognition isn’t reaching deepidv. Capture still works with on-device checks.\n`,_jsx(_components.strong,{children:`Fixes:`})]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`If you use `,_jsx(_components.a,{href:`/integrate/sdks/ios/proxy-mode`,children:`proxy mode`}),`, forward `,_jsx(_components.code,{children:`POST /v1/sessions/{id}/id-capture/detect`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Check `,_jsx(_components.code,{children:`usesDocumentClassifier`}),` isn’t `,_jsx(_components.code,{children:`false`}),` in your config.`]}),`\n`,_jsxs(_components.li,{children:[`Recognition runs only in workflows, not in `,_jsx(_components.code,{children:`DocumentScannerView`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`”turn-your-license-sideways”-on-an-ipad-held-correctly`,children:`”Turn your license sideways” on an iPad held correctly`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` the iPad was turned during the scan.\n`,_jsx(_components.strong,{children:`Fix:`}),` lock the orientation on kiosks and fixed tablets. Reopen the view after turning the device.`]}),`\n`,_jsxs(Heading,{level:`2`,id:`conflict-when-presenting-a-workflow`,children:[_jsx(_components.code,{children:`.conflict`}),` when presenting a workflow`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`error.apiCode`})}),_jsx(_components.th,{children:`Meaning`}),_jsx(_components.th,{children:`Fix`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`.sessionAlreadyStarted`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`sessionID:`}),` was given a session that already started.`]}),_jsxs(_components.td,{children:[`Use `,_jsx(_components.code,{children:`resumingSessionID:`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`.sessionTerminal`})}),_jsx(_components.td,{children:`The session is finished (submitted, failed or expired).`}),_jsxs(_components.td,{children:[`Read the outcome with `,_jsx(_components.code,{children:`fetchWorkflowState`}),`, or create a new session.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`.stepOutOfOrder`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`CustomFaceLivenessView`}),` ran before the session reached its liveness step.`]}),_jsx(_components.td,{children:`Run the earlier steps first.`})]})]})]}),`\n`,_jsxs(Heading,{level:`2`,id:`validation-before-the-camera-opens`,children:[_jsx(_components.code,{children:`.validation`}),` before the camera opens`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` the workflow contains a step the SDK can’t run. Supported steps are ID verification and face liveness.\n`,_jsx(_components.strong,{children:`Fix:`}),` run the other steps elsewhere, or use a workflow with only these steps.`]}),`\n`,_jsxs(Heading,{level:`2`,id:`authentication-or-authorization`,children:[_jsx(_components.code,{children:`.authentication`}),` or `,_jsx(_components.code,{children:`.authorization`})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` the key or token in `,_jsx(_components.code,{children:`apiKey`}),` was rejected, by deepidv or by your proxy.\n`,_jsx(_components.strong,{children:`Fix:`}),` in proxy mode, check your proxy accepts the user’s token and adds the deepidv key. Never ship the deepidv key in the app.`]}),`\n`,_jsx(Heading,{level:`2`,id:`insufficientfunds`,children:_jsx(_components.code,{children:`.insufficientFunds`})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cause:`}),` your organization’s balance can’t cover the check.\n`,_jsx(_components.strong,{children:`Fix:`}),` top up in the Admin Console.`]}),`\n`,_jsxs(Heading,{level:`2`,id:`re-verification-says-usernotfound-or-notpreviouslyverified`,children:[`Re-verification says `,_jsx(_components.code,{children:`.userNotFound`}),` or `,_jsx(_components.code,{children:`.notPreviouslyVerified`})]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/integrate/sdks/ios/re-verification#noteligiblereason`,children:`Not eligible reasons`}),`. Most often the email doesn’t match the email of the verified session, or the user was verified on a different workflow.`]}),`\n`,_jsx(Heading,{level:`2`,id:`contacting-support`,children:`Contacting support`}),`\n`,_jsxs(_components.p,{children:[`Send `,_jsx(_components.a,{href:`mailto:support@deepidv.com`,children:`support`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`the SDK version and iOS version, and the device model;`}),`\n`,_jsx(_components.li,{children:`the session ID or re-verification ID;`}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`error.kind`}),`, `,_jsx(_components.code,{children:`error.apiCode`}),` and `,_jsx(_components.code,{children:`error.code`}),`;`]}),`\n`,_jsx(_components.li,{children:`what the user saw, and roughly when.`}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Don’t send API keys, user tokens, or photos of anyone’s ID or face. The session ID is enough for us to find the details.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Troubleshooting","description":"Fixes for common iOS SDK problems: the camera won't open, auto-capture never fires, the document isn't recognized, sessions fail with conflict, and more.","href":"/integrate/sdks/ios/troubleshooting"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"The app closes when the camera opens","slug":"the-app-closes-when-the-camera-opens","depth":2,"children":[]},{"title":"”Camera access is off”","slug":"”camera-access-is-off”","depth":2,"children":[]},{"title":"The camera is black","slug":"the-camera-is-black","depth":2,"children":[]},{"title":"Auto-capture never fires","slug":"auto-capture-never-fires","depth":2,"children":[]},{"title":"The document’s name never appears on the frame","slug":"the-document’s-name-never-appears-on-the-frame","depth":2,"children":[]},{"title":"”Turn your license sideways” on an iPad held correctly","slug":"”turn-your-license-sideways”-on-an-ipad-held-correctly","depth":2,"children":[]},{"title":".conflict when presenting a workflow","slug":"conflict-when-presenting-a-workflow","depth":2,"children":[]},{"title":".validation before the camera opens","slug":"validation-before-the-camera-opens","depth":2,"children":[]},{"title":".authentication or .authorization","slug":"authentication-or-authorization","depth":2,"children":[]},{"title":".insufficientFunds","slug":"insufficientfunds","depth":2,"children":[]},{"title":"Re-verification says .userNotFound or .notPreviouslyVerified","slug":"re-verification-says-usernotfound-or-notpreviouslyverified","depth":2,"children":[]},{"title":"Contacting support","slug":"contacting-support","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"deep-identity-inc","siteName":"deepidv","title":"Troubleshooting - deepidv","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T07:53:54.898Z","originalFileLocation":"integrate/sdks/ios/troubleshooting.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Fixes for common iOS SDK problems: the camera won\u0026#x27;t open, auto-capture never fires, the document isn\u0026#x27;t recognized, sessions fail with conflict, and more.\">\u003cmeta data-mint-head name=\"application-name\" content=\"deepidv\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/deep-identity-inc/VE_UqkkNisu8ZSTI/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/deep-identity-inc/VE_UqkkNisu8ZSTI/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/deep-identity-inc/VE_UqkkNisu8ZSTI/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/deep-identity-inc/VE_UqkkNisu8ZSTI/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/deep-identity-inc/VE_UqkkNisu8ZSTI/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/deep-identity-inc/VE_UqkkNisu8ZSTI/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/deep-identity-inc/VE_UqkkNisu8ZSTI/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/deep-identity-inc/VE_UqkkNisu8ZSTI/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/deep-identity-inc/VE_UqkkNisu8ZSTI/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Troubleshooting - deepidv\">\u003cmeta data-mint-head property=\"og:description\" content=\"Fixes for common iOS SDK problems: the camera won\u0026#x27;t open, auto-capture never fires, the document isn\u0026#x27;t recognized, sessions fail with conflict, and more.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"deepidv\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.deepidv.com/integrate/sdks/ios/troubleshooting\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://deep-identity-inc.mintlify.site/_mintlify/api/og/v2?division=Production\u0026amp;title=Troubleshooting\u0026amp;description=Fixes+for+common+iOS+SDK+problems%3A+the+camera+won%27t+open%2C+auto-capture+never+fires%2C+the+document+isn%27t+recognized%2C+sessions+fail+with+conflict%2C+and+more.\u0026amp;theme=ec3121d7e676aa7b1bdfb442\u0026amp;signature=2360ca2e1658f93cbf93cc8c9d9fd27c52255f0c4cb1f838846598852fca5b4e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Troubleshooting - deepidv\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Fixes for common iOS SDK problems: the camera won\u0026#x27;t open, auto-capture never fires, the document isn\u0026#x27;t recognized, sessions fail with conflict, and more.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://deep-identity-inc.mintlify.site/_mintlify/api/og/v2?division=Production\u0026amp;title=Troubleshooting\u0026amp;description=Fixes+for+common+iOS+SDK+problems%3A+the+camera+won%27t+open%2C+auto-capture+never+fires%2C+the+document+isn%27t+recognized%2C+sessions+fail+with+conflict%2C+and+more.\u0026amp;theme=ec3121d7e676aa7b1bdfb442\u0026amp;signature=2360ca2e1658f93cbf93cc8c9d9fd27c52255f0c4cb1f838846598852fca5b4e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/deep-identity-inc/VE_UqkkNisu8ZSTI/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"deepidv\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1E7FE0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.deepidv.com/integrate/sdks/ios/troubleshooting\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrate/sdks/ios/troubleshooting.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.deepidv.com/#organization\",\"name\":\"deepidv\",\"url\":\"https://docs.deepidv.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/deep-identity-inc/iEa1biN40aTilpTP/logo/logo-full-black.svg?fit=max\u0026auto=format\u0026n=iEa1biN40aTilpTP\u0026q=85\u0026s=a577cb0e581db37558215bbd72f08dc6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.deepidv.com#website\",\"name\":\"deepidv\",\"url\":\"https://docs.deepidv.com\",\"publisher\":{\"@id\":\"https://docs.deepidv.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.deepidv.com/integrate/sdks/ios/troubleshooting#webpage\",\"url\":\"https://docs.deepidv.com/integrate/sdks/ios/troubleshooting\",\"name\":\"Troubleshooting\",\"description\":\"Fixes for common iOS SDK problems: the camera won't open, auto-capture never fires, the document isn't recognized, sessions fail with conflict, and more.\",\"dateModified\":\"2026-11-11T07:53:54.898Z\",\"isPartOf\":{\"@id\":\"https://docs.deepidv.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.deepidv.com/integrate/sdks/ios/troubleshooting#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.deepidv.com/integrate/sdks/ios/troubleshooting#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"iOS\",\"item\":\"https://docs.deepidv.com/integrate/sdks/ios/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Production\",\"item\":\"https://docs.deepidv.com/integrate/sdks/ios/security-and-api-keys\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Troubleshooting\",\"item\":\"https://docs.deepidv.com/integrate/sdks/ios/troubleshooting\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.deepidv.com/integrate/sdks/ios/troubleshooting#article\",\"headline\":\"Troubleshooting\",\"name\":\"Troubleshooting\",\"description\":\"Fixes for common iOS SDK problems: the camera won't open, auto-capture never fires, the document isn't recognized, sessions fail with conflict, and more.\",\"url\":\"https://docs.deepidv.com/integrate/sdks/ios/troubleshooting\",\"mainEntityOfPage\":{\"@id\":\"https://docs.deepidv.com/integrate/sdks/ios/troubleshooting#webpage\"},\"dateModified\":\"2026-11-11T07:53:54.898Z\",\"publisher\":{\"@id\":\"https://docs.deepidv.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.deepidv.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"deepidv\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"deepidv\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/integrate/sdks/ios/troubleshooting.md","siteName":"deepidv","nav":{"global":{"anchors":[{"anchor":"API Reference","icon":"code","href":"/api-reference/sessions/create-session"},{"anchor":"Admin Console","icon":"layout-grid","href":"https://app.deepidv.com"},{"anchor":"Agent Skills","icon":"bot","href":"https://github.com/Deep-Identity-Inc/agent-skills"}]},"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/introduction"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/openapi-spec"}]},{"tab":"Integrate / SDKs","groups":[{"group":"Guides","pages":[{"title":"AI Agent Integration (MCP Server)","href":"/integrate/ai-agent-integration"},{"title":"Identity Verification Skill","href":"/integrate/verify-skill"},{"title":"deepAI Assistant Skill","href":"/integrate/deepai-assistant-skill"}]},{"group":"TypeScript","pages":[{"group":"Server SDK","pages":[{"title":"Server SDK Overview","href":"/integrate/sdks/typescript/server/overview"},{"title":"Quickstart","href":"/integrate/sdks/typescript/server/quickstart"},{"title":"Authentication","href":"/integrate/sdks/typescript/server/authentication"},{"title":"Configuration","href":"/integrate/sdks/typescript/server/configuration"},{"title":"Session Verification","href":"/integrate/sdks/typescript/server/session-verification"},{"title":"Server-to-Server","href":"/integrate/sdks/typescript/server/server-to-server"},{"title":"Error Handling","href":"/integrate/sdks/typescript/server/error-handling"}]},{"group":"Server SDK Reference","pages":[{"title":"Reference: Sessions","href":"/integrate/sdks/typescript/server/reference/sessions"},{"title":"Reference: Document, Face \u0026 Identity","href":"/integrate/sdks/typescript/server/reference/document-face-identity"},{"title":"Reference: Screening","href":"/integrate/sdks/typescript/server/reference/screening"},{"title":"Reference: Async Jobs \u0026 Events","href":"/integrate/sdks/typescript/server/reference/async-jobs-events"}]}]},{"group":"iOS","icon":"apple","pages":[{"group":"Get started","pages":[{"title":"iOS SDK overview","href":"/integrate/sdks/ios/overview"},{"title":"Quickstart","href":"/integrate/sdks/ios/quickstart"},{"title":"Installation","href":"/integrate/sdks/ios/installation"},{"title":"Choose an integration","href":"/integrate/sdks/ios/choose-an-integration"},{"title":"Build with AI","href":"/integrate/sdks/ios/ai-agents"}]},{"group":"Workflows","pages":[{"title":"Run a workflow","href":"/integrate/sdks/ios/workflows/run-a-workflow"},{"title":"Resuming a session","href":"/integrate/sdks/ios/workflows/resuming"},{"title":"Results and the decision","href":"/integrate/sdks/ios/workflows/results"},{"title":"Failures and retries","href":"/integrate/sdks/ios/workflows/failures"}]},{"group":"Components","pages":[{"title":"Document capture","href":"/integrate/sdks/ios/document-capture"},{"title":"Document capture: screens and states","href":"/integrate/sdks/ios/document-capture-screens"},{"title":"Selfie","href":"/integrate/sdks/ios/selfie"},{"title":"Face liveness","href":"/integrate/sdks/ios/face-liveness"},{"title":"Re-verification","href":"/integrate/sdks/ios/re-verification"},{"title":"Drop-in verification","href":"/integrate/sdks/ios/drop-in-verification"}]},{"group":"Headless API","pages":[{"title":"Document scan and identity verify","href":"/integrate/sdks/ios/headless/document-and-identity"},{"title":"Liveness with your own camera","href":"/integrate/sdks/ios/headless/liveness"},{"title":"iGaming checks","href":"/integrate/sdks/ios/headless/igaming"}]},{"group":"Customize","pages":[{"title":"Branding","href":"/integrate/sdks/ios/branding"},{"title":"Languages","href":"/integrate/sdks/ios/languages"},{"title":"Camera","href":"/integrate/sdks/ios/camera"}]},{"group":"Production","pages":[{"title":"Security and API keys","href":"/integrate/sdks/ios/security-and-api-keys"},{"title":"Proxy mode","href":"/integrate/sdks/ios/proxy-mode"},{"title":"Privacy","description":"What the deepidv iOS SDK collects and uploads, its privacy manifest, and what to declare in your app's App Store privacy details.","href":"/integrate/sdks/ios/privacy"},{"title":"Troubleshooting","href":"/integrate/sdks/ios/troubleshooting"}]},{"group":"Reference","pages":[{"title":"Configuration","description":"Every DeepIDVConfig option in the iOS SDK, with its type and default.","href":"/integrate/sdks/ios/reference/configuration"},{"title":"Errors","href":"/integrate/sdks/ios/reference/errors"},{"title":"Results","href":"/integrate/sdks/ios/reference/results"},{"title":"Changelog","href":"/integrate/sdks/ios/reference/changelog"},{"title":"Migrating to 1.3","href":"/integrate/sdks/ios/reference/migrating-to-1-3"}]}]}]},{"tab":"Chain Layer","pages":[{"title":"Chain Layer","href":"/chain-layer/overview"}]},{"tab":"Workflow Builder","pages":[{"title":"Workflow Builder","href":"/workflow-builder"}]}]},"basePath":"","title":"Troubleshooting - deepidv","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":[],"chunks":[]}