EMFastTrack

@interface EMFastTrack : NSObject

FastTrack is the entry-point of the Mobile Protector and Mobile Secure Messenger. FastTrack takes the configurations needed for different modules and provides shared SDK functionality.

  • - Since: 5.3
  • Get EMFastTrack instance. This function can be called after calling EMFastTrack configureWithOptionalParameters:param1 otherwise will throw NSInternalInconsistencyException.

    Declaration

    Objective-C

    + (nullable instancetype)sharedInstance;

    Swift

    class func sharedInstance() -> Self?

    Return Value

    EMFastTrack instance.

  • Configure the secure log. Pass config = nil if you want to disable the logging. This functions should be called before configuring the IDPFastTrack SDK and can only be called once.

    Since

    6.0

    Declaration

    Objective-C

    + (nullable id)configureSecureLog:(id)config;

    Swift

    class func configureSecureLog(config: Any!) -> Any?

    Parameters

    config

    consist of public key and setting of SecureLog

    Return Value

    id the instance of SecureLog - use to interact with SecureLog feature. Throw NSGenericException if the function is called more than once.

  • Configure the FastTrack.

    Declaration

    Objective-C

    + (nonnull instancetype)configureWithOptionalParameters:
        (nullable void (^)(EMFastTrackOptionalParameters *_Nonnull))
            optionalParameters;

    Swift

    class func configure(optionalParameters: ((EMFastTrackOptionalParameters) -> Void)? = nil) -> Self

    Parameters

    optionalParameters

    The optional parameters, - see: EMFastTrackOptionalParameters.

    Return Value

    Return an instance of EMFastTrack.

  • Representation of the physical device’s jailbreak status

    Declaration

    Objective-C

    + (BOOL)isJailbroken;

    Swift

    class func isJailbroken() -> Bool

    Return Value

    YES if the device is jailbroken otherwise NO

  • Get the state if FastTrack has been configured previously.

    Declaration

    Objective-C

    + (BOOL)isConfigured;

    Swift

    class func isConfigured() -> Bool

    Return Value

    true if it has been configured, false otherwise

  • Construct an EMOathMobileProtector object.

    Declaration

    Objective-C

    - (nonnull EMOathMobileProtector *)
        oathMobileProtectorWithUrl:(nonnull NSURL *)url
                            domain:(nullable NSString *)domain
              provisioningProtocol:
                  (EMFastTrackProvisioningProtocol)provisioningProtocol
                          rsaKeyId:(nonnull NSString *)rsaKeyId
                       rsaExponent:(nonnull NSData *)rsaExponent
                        rsaModulus:(nonnull NSData *)rsaModulus
                optionalParameters:
                    (nullable void (^)(EMMobileProtectorOptionalParameters
                                           *_Nonnull))optionalParameters;

    Swift

    func oathMobileProtector(url: URL, domain: String?, provisioningProtocol: EMFastTrackProvisioningProtocol, rsaKeyId: String, rsaExponent: Data, rsaModulus: Data, optionalParameters: ((EMMobileProtectorOptionalParameters) -> Void)? = nil) -> EMOathMobileProtector

    Parameters

    url

    The URL of the provisioning API endpoint, e.g: for EPS 2.x: http(s)://<eps-url>:<eps-port>/provisioner/api/provisioning/pp and for EPS 3.x: http(s)://<eps-url>:<eps-port>/provisioner/provision

    domain

    The eps domain for provisioning.

    provisioningProtocol

    A mobile provisioning protocol.

    rsaKeyId

    Identifier for the EPS server’s public RSA key. The value can be nil for EPS 3.x and above and EMFastTrackProvisioningProtocol is version 5.

    rsaExponent

    The RSA exponent of the EPS public key (on provisioning protocol level, not transport level).

    rsaModulus

    The RSA modulus of the EPS public key (on provisioning protocol level, not transport level).

    optionalParameters

    An optional parameters to be set, - see: EMFastTrackOptionalParameters.

    Return Value

    Return an instance of EMOathMobileProtector.

  • Construct an EMCapMobileProtector object.

    Declaration

    Objective-C

    - (nonnull EMCapMobileProtector *)
        capMobileProtectorWithUrl:(nonnull NSURL *)url
                           domain:(nullable NSString *)domain
             provisioningProtocol:
                 (EMFastTrackProvisioningProtocol)provisioningProtocol
                         rsaKeyId:(nonnull NSString *)rsaKeyId
                      rsaExponent:(nonnull NSData *)rsaExponent
                       rsaModulus:(nonnull NSData *)rsaModulus
               optionalParameters:
                   (nullable void (^)(EMMobileProtectorOptionalParameters
                                          *_Nonnull))optionalParameters;

    Swift

    func capMobileProtector(url: URL, domain: String?, provisioningProtocol: EMFastTrackProvisioningProtocol, rsaKeyId: String, rsaExponent: Data, rsaModulus: Data, optionalParameters: ((EMMobileProtectorOptionalParameters) -> Void)? = nil) -> EMCapMobileProtector

    Parameters

    url

    The URL of the provisioning API endpoint, e.g: for EPS 2.x: http(s)://<eps-url>:<eps-port>/provisioner/api/provisioning/pp and for EPS 3.x: http(s)://<eps-url>:<eps-port>/provisioner/provision

    domain

    The eps domain for provisioning.

    provisioningProtocol

    A mobile provisioning protocol.

    rsaKeyId

    Identifier for the EPS server’s public RSA key. The value can be nil for EPS 3.x and above and EMFastTrackProvisioningProtocol is version 5.

    rsaExponent

    The RSA exponent of the EPS public key (on provisioning protocol level, not transport level).

    rsaModulus

    The RSA modulus of the EPS public key (on provisioning protocol level, not transport level).

    optionalParameters

    An optional parameters to be set, - see: EMFastTrackOptionalParameters.

    Return Value

    Return an instance of EMCapMobileProtector.

  • Construct an EMMobileMessenger object.

    Declaration

    Objective-C

    - (nullable EMMobileMessenger *)
        mobileMessengerWithUrl:(nonnull NSURL *)url
                        domain:(nonnull NSString *)domain
                 applicationId:(nonnull NSString *)applicationId
                   rsaExponent:(nonnull NSData *)rsaExponent
                    rsaModulus:(nonnull NSData *)rsaModulus
            optionalParameters:
                (nullable void (^)(EMMobileMessengerOptionalParameters *_Nonnull))
                    optionalParameters
                         error:(NSError *_Nullable *_Nullable)error;

    Swift

    func mobileMessenger(url: URL, domain: String, applicationId: String, rsaExponent: Data, rsaModulus: Data, optionalParameters: ((EMMobileMessengerOptionalParameters) -> Void)? = nil) throws -> EMMobileMessenger

    Parameters

    url

    The URL of the OOB server.

    domain

    The domain to use for requests to the OOB server. It must be compliant with server configuration on back-end side.

    applicationId

    The application identifier use to communicate with the OOB server.

    rsaExponent

    The RSA public exponent to use to communicate with the OOB server.

    rsaModulus

    The RSA modules to use to communicate with the OOB server.

    optionalParameters

    An optional parameters to be set, - see: EMMobileMessengerOptionalParameters.

    error

    If an error occurs, upon return contains an NSError object that describes the problem.

    Return Value

    Return an instance of EMMobileMessenger or nil.

  • The version of the SDK.

    Declaration

    Objective-C

    + (nonnull NSString *)version;

    Swift

    class func version() -> String

    Return Value

    Version of the SDK.