We developed a custom card SDK for iOS to support your fintech applications on all Apple smartphones. This card SDK takes care of all the compliance related to card issuance, its lifecycle, and various operations for your fintech product. This section explains how to set up your card SDK for an iOS application and some of the SDK’s features.
Before beginning with the SDK setup, we’d highly recommend that you take a note of the following checklists:
- Fusion uses an authentication token to validate the SDK
- Minimum iOS version required: 10
- Minimum Cocoapods version required: 1.9.1
- Ensure you have a
supercardSdk.plistfile which contains configuration data necessary to set up the SDK. Contact Zeta in case you haven’t received the file.
The iOS Card SDK is compatible with apps supporting iOS version 10 and above. To add the
ApolloCardFramework to your project, follow these steps:
- Set up Cocoapods using the simple steps mentioned in this link.
- Open the Podfile created in your project and add ApolloCardsFramework dependency as mentioned in the code below:
Enable Bitcodeto NO under Target > Build Settings.
- Adding configuration files
A configuration file contains all the properties necessary for activating the SDK. You should add the file to the main target of your project to prepare the app to work with the SDK. You will receive the configuration file named
supercardSdk.plist through email. If you haven’t received the file, contact Zeta.
- Adding theme & template files
Card SDK provides you with the capability to define the theme and layout used by the SDK. These can be edited remotely so you won’t have to ship a new app build for changing how your view looks. You can change your theme by contacting Zeta and it will reflect on your app on the next launch.
- Configure properties
To enable authentication using face recognition (Face ID), add a value to the
NSfaceIdUsageDescription (Privacy - Face ID Usage Description) with a message in the
Create the ApolloCardManager instance in your AppDelegate file. Initialize it inside the
applicationdidFinishLaunchingWithOptions: method of your
Applicationclass. Keep the instance for
ApolloCardManager globally accessible.
The step involves SDK authentication and setting up the SDK. Card SDK is stateful by default. Before beginning with the integration, you should create a logic to authenticate the users.
For a user to be able to use the cards SDK through your app, you need to authenticate the user with the
tenantAuthToken needs to be computed in your backend as it needs sensitive information to create the token. The information used to generate the
tenantAuthToken should never be compromised.
tenantAuthToken to the Cards SDK once the user logs into your app so that you’ll have sufficient information to generate the token.
The following code snippet allows you to authenticate the SDK:
- This step has to be performed during the first login of the user or when an already existing tenantAuthToken expires.
- A tenantAuthToken has an associated validity with it. The ideal practice is to reset a new token before it expires.
This step should be performed after the SDK authentication. Post the authentication of the SDK, you can integrate this logic whenever your app is launched on the customer’s mobile. To know whether the authentication step has been completed, you can configure a listener to the
SDKStatusAuthenticated event as shown below:
Now for storing the card details and the authentication details securely, we use encrypted storage and hide the data behind the user’s authentication. If you are an issuer, you can provide a custom implementation of your own encrypted storage.
The following code snippet explains how to achieve this step: