EMCore Class Reference

Inherits from NSObject
Declared in EMCore.h

Overview

EMCore is the entry-point of the SDK Core. EMCore takes the configurations needed for different modules and provides shared SDK functionalities.

Other Methods

+ sharedInstance

Singleton instance of EMCore

+ (instancetype)sharedInstance

Return Value

The singleton EMCore instance. This method requires Core to be configured before.

Availability

4.0

Declared In

EMCore.h

+ configureWithConfigurations:

Configures the core with module configurations. It is the entry point of the SDK. All other features should not be used without invoking this method. Configuration can only be called once.

+ (instancetype)configureWithConfigurations:(NSSet *)configurations

Parameters

configurations

The set of module configurations.

Availability

4.0

Declared In

EMCore.h

+ configureWithConfigurations:useDeviceSourceBinding:

Configures the core with module configurations. It is the entry point of the SDK. All other features should not be used without invoking this method. Configuration can only be called once.

+ (instancetype)configureWithConfigurations:(NSSet *)configurations useDeviceSourceBinding:(BOOL)useDeviceSourceBinding

Parameters

configurations

The set of module configurations.

useDeviceSourceBinding

device binding to enable or disable DEVICE fingerprint source. Enabling this flag is equivalent to including ‘DEVICE’ in the Device Fingerprint Source configuration in 2.X.

Availability

4.4

Declared In

EMCore.h

+ configureWithConfigurations:useDeviceSourceBinding:groupIdentifier:

Configures the core with module configurations. It is the entry point of the SDK. All other features should not be used without invoking this method. Configuration can only be called once.

+ (instancetype)configureWithConfigurations:(NSSet *)configurations useDeviceSourceBinding:(BOOL)useDeviceSourceBinding groupIdentifier:(NSString *)groupIdentifier

Parameters

configurations

The set of module configurations.

useDeviceSourceBinding

device binding to enable or disable DEVICE fingerprint source. Enabling this flag is equivalent to including ‘DEVICE’ in the Device Fingerprint Source configuration in 2.X.

groupIdentifier

The app group id, to allow group access to the files.

Availability

4.7

Declared In

EMCore.h

+ configureWithActivationCode:configurations:

Configures the core with module configurations. It is the entry point of the SDK. All other features should not be used without invoking this method. Configuration can only be called once.

+ (instancetype)configureWithActivationCode:(NSData *)activationCode configurations:(NSSet *)configurations

Parameters

activationCode

The activation code.

configurations

The set of EMModuleConfiguration module configurations.

Availability

4.0

Exceptions

NSException

if core is already configured

Declared In

EMCore.h

+ configureWithActivationCode:configurations:useDeviceSourceBinding:

Configures the core with module configurations. It is the entry point of the SDK. All other features should not be used without invoking this method. Configuration can only be called once.

+ (instancetype)configureWithActivationCode:(NSData *)activationCode configurations:(NSSet *)configurations useDeviceSourceBinding:(BOOL)useDeviceSourceBinding

Parameters

activationCode

The activation code.

configurations

The set of EMModuleConfiguration module configurations.

useDeviceSourceBinding

device binding to enable or disable DEVICE fingerprint source. Enabling this flag is equivalent to including ‘DEVICE’ in the Device Fingerprint Source configuration in 2.X.

Availability

4.4

Exceptions

NSException

if core is already configured

Declared In

EMCore.h

+ configureWithActivationCode:configurations:useDeviceSourceBinding:groupIdentifier:

Configures the core with module configurations. It is the entry point of the SDK. All other features should not be used without invoking this method. Configuration can only be called once.

+ (instancetype)configureWithActivationCode:(NSData *)activationCode configurations:(NSSet *)configurations useDeviceSourceBinding:(BOOL)useDeviceSourceBinding groupIdentifier:(NSString *)groupIdentifier

Parameters

activationCode

The activation code.

configurations

The set of EMModuleConfiguration module configurations.

useDeviceSourceBinding

device binding to enable or disable DEVICE fingerprint source. Enabling this flag is equivalent to including ‘DEVICE’ in the Device Fingerprint Source configuration in 2.X.

groupIdentifier

The app group id, to allow group access to the files.

Availability

4.7

Exceptions

NSException

if core is already configured

Declared In

EMCore.h

+ isConfigured

Tells if the core has been configured or not

+ (BOOL)isConfigured

Return Value

YES if configured, NO otherwise.

Availability

4.0

Declared In

EMCore.h

+ isDeviceSourceBindingEnabled

Tells if device source binding is enabled or not

+ (BOOL)isDeviceSourceBindingEnabled

Return Value

YES if enabled, NO otherwise.

Availability

4.4

Declared In

EMCore.h

+ version

The version of the core.

+ (NSString *)version

Return Value

Version of the core.

Availability

4.0

Declared In

EMCore.h

– passwordManager

Get passwordManager EMPasswordManager. which is used to unlock secrets used by different modules.

- (id<EMPasswordManager>)passwordManager

Return Value

The password manager.

Availability

4.0

Declared In

EMCore.h

– secureContainerFactory

Get factory object for creating SecureContainer objects.

- (id<EMSecureContainerFactory>)secureContainerFactory

Return Value

Secure container factory.

Availability

4.0

Declared In

EMCore.h

+ updateConfigurations:

Update Configuration. This will replace existing one (if any) and add new one (if it does not exist previously). However, it will not delete existing one if configs parameter does not contains some of existing one

+ (void)updateConfigurations:(NSSet *)configurations

Parameters

configurations

list of configuration parameters. It does not need to contains all existing configurations

Availability

5.3.0

Declared In

EMCore.h

Migration Methods

– hasPendingMigration

Whether the SDK has pending migration This is TRUE any of the following conditions are met: (1) App Bundle Version Update (2) Ezio SDK Upgrade (3) Change in Keychain Access Group (4) Change in Device Binding Parameter

- (BOOL)hasPendingMigration

Return Value

YES if there are pending items to migrate, NO otherwise

Availability

4.7

Declared In

EMCore.h

– performMigrationWithAlertMessage:completion:

Performs the migration

- (void)performMigrationWithAlertMessage:(NSString *)message completion:(void ( ^ ) ( BOOL success , NSError *error ))completion

Parameters

message

The prompt message for TouchID/FaceID

completion

The migration completion handler. Returns the status of migration and error if any.

Availability

4.7

Discussion

Warning: Performed asynchronously

Note: During migration, if TouchID/FaceID has been used before, TouchID/FaceID alert is prompted for authentication. It is recommended that before calling this API, you have already notified the end user that authentication is about to be done to contiue with the migration.

Declared In

EMCore.h

– ignoreMigration:

Sets whether to ignore the pending migration or not.

- (void)ignoreMigration:(BOOL)ignore

Parameters

ignore

Whether to ignore or not.

Availability

4.7

Discussion

Warning: This is called only once. After this, hasPendingMigration will return to NO.

Declared In

EMCore.h