Setting up CardinalMobileSDK - iOS - V 2.1.4

Step 1 - Download and Import the Cardinal Mobile SDK

Download the CardinalMobile.framework file using following cURL.

Download cURL
curl -L -u<USER_NAME>
        :<API_KEY> https://cardinalcommerce.bintray.com/ios/<VERSION>-<BUILD_NUMBER>/cardinalmobilesdk.zip
        -o <LOCAL_FILE_NAME.EXT>

#Example: 
curl -L -uUserName:ApiKey "https://cardinalcommerce.bintray.com/ios/2.1.4-2/cardinalmobilesdk.zip" -o cardinalmobile2.1.4-2.zip

In your XCode project, drag CardinalMobile.framework file into the Frameworks group in your Xcode Project (create the group if it doesn't already exist). In the import dialog, tick the box to Copy items into destinations group folder (or Destination: Copy items if needed). The iOS SDK files are now available for linking in your project.

For Bintray username and API Key please reach out to your client manager.

Step 2 - Setting Up Your Build Environment

  1. Open Xcode and click on your project in the source list to the left of the main editor area.
  2. Select your application under the Targets section and go to the General tab.
  3. Expand the Embedded Binaries section then click the small “+” button at the bottom of the list.
  4. Add the CardinalMobile.framework from the list

Step 3 - Configure Cardinal Mobile SDK

Upon successfully completing Integration in Step 1 and Step 2, create a new instance of the cardinal object by [CardinalSession new]. SDK offers multiple configuration options for you (if not specified, everything is set to default). For more details: CardinalConfigurationOptions. Use the code snippet below for completing the configuration


 Objective-C
#import <CardinalMobile/CardinalMobile.h>
CardinalSession *session;

//Setup can be called in viewDidLoad
- (void)setupCardinalSession {
	session = [CardinalSession new]; 
	CardinalSessionConfiguration *config = [CardinalSessionConfiguration new];
	config.deploymentEnvironment = CardinalSessionEnvironmentProduction;
	config.timeout = CardinalSessionTimeoutStandard;
	config.uiType = CardinalSessionUITypeBoth;

	UiCustomization *yourCustomUi = [[UiCustomization alloc] init];
	//Set various customizations here. See "iOS UI Customization" documentation for detail.
	config.uiCustomization = yourCustomUi;

	CardinalSessionRenderTypeArray *renderType = [[CardinalSessionRenderTypeArray alloc] initWithObjects:
    	                       CardinalSessionRenderTypeOTP,
        	                   CardinalSessionRenderTypeHTML,
            	               nil];
	config.renderType = renderType;

	config.enableQuickAuth = false;
	[session configure:config];
}
 Swift
import CardinalMobile
var session : CardinalSession!

//Setup can be called in viewDidLoad
func setupCardinalSession{
	session = CardinalSession()
	var config = CardinalSessionConfiguration()
	config.deploymentEnvironment = .production
	config.timeout = 8000
	config.uiType = .both

	let yourCustomUi = UiCustomization()
	//Set various customizations here. See "iOS UI Customization" documentation for detail.
	config.uiCustomization = yourCustomUi

	config.renderType = [CardinalSessionRenderTypeOTP, CardinalSessionRenderTypeHTML]
	config.enableQuickAuth = true
	session.configure(config)
}

Available Configurations  


MethodDescriptionDefault ValuePossible Values

deploymentEnvironment

The environment SDK connects to.

CardinalSessionEnvironmentProduction

  • CardinalSessionEnvironmentStaging
  • CardinalSessionEnvironmentProduction

timeoutInMilliseconds

Maximum amount of time (in milliseconds) for all exchanges.8000
uiTypeInterface types that the device supports for displaying specific challenge user interfaces within the SDK.

CardinalSessionUITypeBoth

  • CardinalSessionUITypeBoth
  • CardinalSessionUITypeNative
  • CardinalSessionUITypeHTML
renderType

List of all the RenderTypes that the device supports for displaying specific challenge user interfaces within the SDK.

[CardinalSessionRenderTypeOTP,

CardinalSessionRenderTypeHTML,

CardinalSessionRenderTypeOOB,

CardinalSessionRenderTypeSingleSelect,

CardinalSessionRenderTypeMultiSelect]

  • CardinalSessionRenderTypeOTP
  • CardinalSessionRenderTypeHTML
  • CardinalSessionRenderTypeOOB
  • CardinalSessionRenderTypeSingleSelect
  • CardinalSessionRenderTypeMultiSelect

proxyServerURL

Proxy server through which the Cardinal SDK Session operates.

nil

enableQuickAuth

Enable Quick Authenticationfalse
uiCustomizationSet Custom UICustomization for SDK Controlled Challenge UI.nil
enableDFSyncEnable DF Sync to get onSetupCompleted (Step 4) called after collected Device Data is sent to the server.false