Skip to content

Specifications

The NFC SDK reads the contactless chip of ICAO 9303 identity documents (ID cards, residence permits, e-passports). It requires NFC capabilities declared at build time.

The following capabilities are required for the SDK to function correctly:

  • Near Field Communication Tag Reading (entitlement): The host app must enable the Near Field Communication Tag Reading capability, so its entitlements include com.apple.developer.nfc.readersession.formats with the TAG format. The App ID and provisioning profile must carry the same capability.
  • ISO 7816 application identifiers (Info.plist): The host app must declare the eMRTD application identifiers, A0000002471001 (eMRTD LDS1 application) and A00000024710FF (eMRTD LDS1, alternative identifier):
    <key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
    <array>
        <string>A0000002471001</string>
        <string>A00000024710FF</string>
    </array>
    
  • NFCReaderUsageDescription (Info.plist): The text shown by the system when the reading session starts, e.g. "We use NFC to read the chip of your identity document."

No camera or other permission is required.

Requirements

  • The SDK is compatible with iOS 16.0 and later.
  • The SDK requires a physical iPhone. NFC is not available on the iOS Simulator, and iPads have no NFC reader. On an unsupported device, the SDK closes right away with nfcUnavailable without showing any screen.
  • The SDK is integrated using the zipped .xcframework files. See Installation.
  • The third-party code the SDK uses, including OpenSSL, is linked inside it with its symbols hidden, so it does not conflict with another OpenSSL version included by the host app.

Module size

The following table shows the estimated final compressed contribution of the SDK in an iOS app. It is intended to approximate the footprint of the final packaged artifact as stored and distributed through the Apple App Store.

Total final compressed contribution of VeridasNfcSDK in an iOS app: 29.00 MB

Artifact Version Final compressed contribution
VeridasNfcSDK 1.0.0 2.10 MB
VeridasCommonDefinitions 1.4.0 1.15 MB
VeridasCommonUtils 1.4.0 0.31 MB
VeridasGenuineDS 1.4.0 2.11 MB ¹
VeridasNativeDS 1.4.0 4.39 MB
VeridasSDKCore 1.4.0 18.94 MB
Total 29.00 MB

¹ Lower than in previous releases. Figures are now measured assuming Xcode 27 or later, which requires a minimum deployment target of iOS 15.0. With that target, apps no longer bundle Apple's Swift Concurrency back-deployment library (about 2.4 MB compressed), which earlier figures attributed to this row.

Estimated peak RAM usage

The following table shows an estimated upper bound of peak RAM usage during normal SDK operation.

Artifact Estimated peak RAM usage
VeridasNfcSDK Up to 80 MB

RAM usage can vary depending on the device, OS version, and the point in the flow. This figure is an indicative upper-bound estimate observed across several devices and representative scenarios, and should be understood as guidance rather than an exact fixed value.