Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

iOS

Use this guide to integrate the Thales SDK into an iOS merchant native application.

Delivery package

The SDK delivery package includes:

Name
Description

Binaries

Release and debug variants of the Thales SDK.

Demo

Sample project that shows how to integrate and use the Thales SDK.

Apidoc

Thales SDK API documentation.

License

Licenses for third-party frameworks shipped with the Thales SDK.

Integrate the SDK

  1. Create a folder called Framework.

  2. Copy the .xcframework bundles from Binaries/<Release|Debug>/ into the Framework folder.

Example Framework folder containing the SDK .xcframework bundles.
  1. Drag TMGSDK.xcframework and SecureLogAPI.xcframework from the Framework folder to Frameworks, Libraries, and Embedded Content in your target settings.

Embed the SDK frameworks in your app target.
  1. Add the Face ID usage description to your app’s Info.plist.

Add the Face ID usage description in Info.plist.

Configure the SDK

Configure Thales SDK before calling any SDK API.

Build a TMGClientConfiguration with the required parameters:

  • Server URL

  • Server certificate

  • Key identifier

  • certificate PINs

1. Create a TMGClientConfiguration

Get the server URL, server certificate, and key identifier during onboarding.

2. Create a VisaCTFHelper

Create the helper to start device binding and authenticate transactions for Visa CTF and DAF.

3. Create a MastercardTAFHelper

Create the helper to start device binding and authenticate transactions for Mastercard TAF.

If the SDK cannot create the helper, it throws an error.

Use each SDK variant only for its intended environment. When you create a VisaCTFHelper, the SDK returns deviceEnvironmentUnsafe in these cases:

  • Debug: You sign the app with a distribution or ad-hoc certificate.

  • Release: You debug the app, or you launch it from Xcode or xcodebuild. If you hit this error, stop debugging and relaunch the app on the device.

Last updated

Was this helpful?