We currently use cookies to improve and customize your experience on our site. If you accept, we’ll also use marketing cookies to show you personalized ads. Manage your cookies and learn more.
Development with WLW's iOS SDK requires Xcode 7 or later.
Once you have installed your Xcode environment, configure the following settings for your WLW project:
Import the scope app included with your SDK bundle as your project and configure it as follows.
Set IPHONEOS_DEPLOYMENT_TARGET=9.0 for your project.
Add the -fstack-protector-all custom compiler flag to the Apple LLVM compiler settings to guard against Stack Smashing attacks. This security measure is required by WLW.
Import PaydiantSDK.h header file into a common, top-level location in your app (such as the PCH header) to make all SDK headers available universally in the app.
Link the following libraries and frameworks to your project's Frameworks list:
libiconv.2.dylib
libstdc++.dylib
libz.dylib
UIKit.framework
Foundation.framework
CoreGraphics.framework
AudioToolbox.framework
MessageUI.framework
MediaPlayer.framework
OpenGLES.framework
QuartzCore.framework
AVFoundation.framework
CFNetwork.framework
SystemConfiguration.framework
MobileCoreServices.framework
Security.framework
CoreMedia.framework
CoreVideo.framework
CoreTelephony.framework
CoreLocation.framework
OpenAL.framework
Link the following certification pinning files to your project:
WLW's iOS SDK does not support forward secrecy. Disable it by adding the following Cocoa Key to your project's information propoerty (info plist) file:
Define the environment variables for your development environment:
ipAddress - The host name or IP address where the mobile gateway resides, for example, "sandbox.paydiant.com"
hostProtocol - The protocol to be used when calling the mobile gateway for this version it is "https")
hostPort - The port the server is listening on - set to "nil"
applicationSignature - A unique identifier of the app used to generate the HMAC during signing.
applicationVersion - The app's release version, following WLW's a.b.c.d.e SDK version convention. For example, 6.7.0.0.i. for iOS version 6.7.
apiKey - The unique identifier of the application instance.
Note: Values are required for ipAddress, applicationSignature, applicationVersion, and apiKey. The SDK will throw an exception for calls from any app without valid values for these properties.
Configure your SDK instance:
Configure login credential encryption to match corresponding Issuer onboarding setting, if encryption will be handled by the SDK. Typically, this encryption is handled by the server rather than the SDK, so the default value of FALSE is applicable in most cases and explicit configuration is not necessary. text lineNumbers NSDictionary *serviceSecurityConfigs = @(kEncryptPassword:@"false", kEncryptMFASecurityAnswer:@"false", kEncryptPin, @"false", kCaseInsensitiveMFASecretAnswer @"false" ); [[PDPaydiantSDKConfig sharedInstance] setSecurityConfigurations:serviceSecurityConfigs];
Set a incremental-release rotating App Certification using a CFUUID generated app signature, with separate, unique UUIDs for test and production environments.
(void)setApplicationCertification:(CFUUID);
Configure location services, if applicable for your app. Refer to the iOS SDK Guide for LBS configuration and enablement calls.
Call initPaydiantSDK to initialize the instance with the configuration settings. text lineNumbers PDPaydiantContext *context = [[PDPaydiantContext alloc] init]; context.hostProtocol = @"https"; context.ipAddress = @"sandbox.paydiant.com"; context.hostPort = nil; context.applicationSignature = @"999x9999-9x9x-9xx9-x999-99x99xxx99"; context.applicationVersion = @"2.355.4.5"; context.apiKey = @"xxx-1234-99xx-xx"; PDPaydiantSDK *paydiantSDK = [PDPaydiantSDK newInstance]; [paydiantSDK initPaydiantSDK:context];