---
title: "Known Issues"
url: "https://developer.incode.com/sdk-reference/ios-known-issues/"
section: "sdk-reference"
group: "iOS SDK"
version: "v1.1"
status: "live"
---
# Known Issues

This page lists the known issues, limitations, and intentional constraints you are most likely to run into with the Incode iOS SDK. Each entry describes a lasting, customer-facing behavior, not a temporary bug. The [release notes](/release-notes/releases-ios-sdk/) track and resolve temporary bugs.

This list is a quick summary. [Migration Guide](/release-notes/migration_guide/) holds the authoritative, version-specific notes. Check those pages for the exact release where a behavior changed, or a limitation started or ended.

***

## NFC

- **The SDK tries the PACE protocol first, then falls back to BAC.** When opening an NFC chip, the SDK attempts Password Authenticated Connection Establishment (PACE) when the document advertises support for it, and falls back to Basic Access Control (BAC) otherwise. See [NFC](/sdk-reference/module-nfc-scan/).

***

## Capture-Only Mode

- **Forward&#x20;**`metadata`**&#x20;to the Incode API.** In Capture-Only mode (`IncdOnboardingManager.shared.sdkMode = .captureOnly`), the SDK returns captures to your app without uploading them, and your app is responsible for submission. When you submit a capture yourself, forward the `metadata` field from the capture result—`IdScanResult.metadata` and `SelfieScanResult.metadata`—to the Incode API. This field carries proprietary capture metadata required by the Incode backend to process the capture. See [Capture-Only Mode](/sdk-reference/ios-capture-only-sdk/).

***

## On-Device Face Processing for Selfie Scan V2

- **Constrained configuration.** On-device face results submission for the Selfie module, configured through Dashboard/Workflows, is only honored when all of the following hold:

  - End-to-end encryption is active for the session,
  - The Login variant is included in the build, and
  - The module runs with a visible UI (headless mode is not supported).

  If any of these is not met, on-device submission is not used. Note that the iOS requirements differ from the Android SDK. See [Selfie](/sdk-reference/module-selfie/).

***

## Simulator

- **Camera and NFC are unavailable on the iOS Simulator.** Camera- and NFC-dependent modules cannot produce real captures on the Simulator; the SDK gates camera and NFC availability when running there. Run capture flows on a physical device. NFC additionally requires iOS 13.0 or later and NFC-capable hardware. On unsupported OS versions the SDK reports `NFCScanError.notAvailable`.

***

## Device Environment Detection

- **Environment signals are reported, not enforced.** The iOS SDK collects device-integrity signals: jailbreak, runtime-hooking/instrumentation, and, in release builds, debugger-attach detection. It reports them to the Incode backend as upload metadata for risk analysis. These signals are **non-blocking**: they do not stop onboarding, they do not surface as a catchable error or delegate callback, and they do not crash the app. You cannot disable them, and there is no integrator hook to handle them.

<br />