About iOS Card SDK
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.
Prerequisites
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.plist
file which contains configuration data necessary to set up the SDK. Contact Zeta in case you haven’t received the file.
iOS SDK Setup
Step 1: Adding the SDK
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 Bitcode
to NO under Target > Build Settings.
Step 2 : Setting up the SDK
- 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 info.plist
file.
Step 3: Initialize the SDK
Create the ApolloCardManager instance in your AppDelegate file. Initialize it inside the applicationdidFinishLaunchingWithOptions
: method of your Applicationclass
. Keep the instance for ApolloCardManager
globally accessible.
Objective C
|
|
Step 4. Integrating the SDK
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.
Authenticating Cards SDK
For a user to be able to use the cards SDK through your app, you need to authenticate the user with the tenantAuthToken
. 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.
Set the 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:
|
|
Note:
- 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.
Setting up the SDK
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:
|
|