iOS SDK
SDK 3.22
Currently, only Encap SCA customers can upgrade to version 3.22 of our SDK. MobileID customers will be able to upgrade soon; we will keep you informed when this is possible.
News for release: SDK 3.22
- Improved security for compliance with NSM/NIST:
- End-to-end encryption algorithms changed to X25519 and AES-GCM. Old elliptic curve keys will not work with 3.22 API. Set the
publicKeyproperty of theEncapConfigto the X25519 public key. - Increased salt encryption key length to 32 and changed algorithm to AES-CTR.
- End-to-end encryption algorithms changed to X25519 and AES-GCM. Old elliptic curve keys will not work with 3.22 API. Set the
- Added new feature Device groups. You can learn more in our feature documentation.
- Added error code
serverErrorMissingAuthMethod, which indicates that the authentication method required for the operation is missing. - Removed all
Offlineauthentication. - Removed error code
clientErrorOfflineVersionNotSupported,clientErrorOfflineParsingFailedandserverErrorClientOnlyDisallowed. - Introduced API changes to enforce PSD2 (Payment Services Directive 2) compliance for secure credential handling.
For PSD2 compliance, the SDK's activation and authentication APIs now require NSMutableString for PIN, activation code, and recovery code parameters, rather than accepting String or NSString.
This enforces credential handling that allows for secure memory overwriting immediately after use.
The following parameters now accept NSMutableString instead of String:
AuthMethod.pin(value:)startActivationWithCode(_:)RecoveryMethod.backupRecoveryCode(_:)
Any client passing a Swift String or NSString literal will receive a compiler error after updating to this version.
To learn how to update your code, and for guidance on data classification and memory management, see our Security best practices documentation.
SDK 3.21
News for release: SDK 3.21
-
Minimum iOS version updated to 15.0.
-
Added new risk parameters
SSID,BSSID,Gravity,Magnetometer,IsProxyEnabled,IsVpnEnabled,timeZone,Locale.Set SSID/BSSID permissionsIf you enable the SSID and/or BSSID risk parameters, then you must add the necessary entitlement to your application's target in Xcode.
To learn how to do this, see Wi-Fi information (SSID and BSSID) in our Risk parameters feature documentation.
-
For Recovery, renamed enum entry
RecoveryMethod.backuptoRecoveryMethod.backupRecoveryCode.Breaking changeThis is a breaking change. Replace any occurrences of
RecoveryMethod.backupwithRecoveryMethod.backupRecoveryCodein your code. -
Unified the error returned when an authentication method is deactivated locally due to invalidation. Previously
clientErrorAuthMethodUnavailablewas returned. NowclientErrorAuthMethodNotAllowedis used, to align with Android behaviour. -
Added error code
clientErrorClientDataInvalid, which indicates that the provided client data in the start authentication operation is invalid for one of the following reasons:- It exceeds the maximum size of 1024 bytes (UTF-8 encoded).
- It contains one or more 4-byte UTF-8 characters (this includes most emojis, such as 👍).
-
Removed SDK error code
serverErrorAuthenticationRequired.
SDK 3.20
News for release: SDK 3.20
- Added new
RecoveryMethodfor face scanRecoveryMethod.backupServerSideFace(faceScanData: FaceScanData). - Added optional field
serverSideFaceInit: ServerSideFaceInitResult?intostartRecoveryResult. - Added new
EncapConfigpropertylocationEnabled.Want to learn more?To learn more, see our Location feature documentation.
- Removed EncapAPI (Objective-C version).
Important
If you are still using this API, then you must start using EncapSwiftAPI instead.
- Removed error codes
serverErrorAlreadyAuthenticatedandserverErrorExpiredSession.
SDK 3.19
News for release: SDK 3.19
- Updated minimum iOS version to 14.0.
- Added new
AuthMethodfor face scanAuthMethod.serverSideFace(faceScanData: FaceScanData?).What does this mean?This new authentication method has the current primary use case of activating a registration in situations where the end-user has forgotten their PIN and has no valid biometrics.
- Added new
EncapControllermethodsstartAddOrUpdate(startAddOrUpdateParameter: StartAddOrUpdateParameter):- For use with Server-side face only, use start calls with
StartAddOrUpdateParameter(selectedAuthMethod: .serverSideFace(faceScanData: FaceScanData())). - For use with
clientData, use start calls withStartAddOrUpdateParameter(clientData: String).
- For use with Server-side face only, use start calls with
- Removed
EncapPushDelegate. - Removed support for weak hashing algorithms, such as
MD4,MD5andSHA-1. - Removed support for methods:
initWithDelegatedidFinishLaunchingWithOptionsdidReceiveRemoteNotification
- Deprecated
startAddOrUpdate(clientData: String). - Removed support for authentication method
AuthMethod.touchID. UseAuthMethod.strongTouchIDinstead.
SDK 3.18
News for release: SDK 3.18
- Documentation improvements:
- Restructured to improve usability.
- Multiple sections have been rewritten.
- Added new examples which are easier to copy and paste.
- Removed error code
serverErrorAppAttestValidationFailed. If validation of App Attest fails, thenserverErrorIncorrectResponseis returned.
SDK 3.17
News for release: SDK 3.17
EncapAPIandEncapSwiftAPIare no longer built with bitcode.- Removed Intermediate Push feature.
- Removed deprecated
availableAuthMethods.
SDK 3.16
News for release: SDK 3.16
- Minimum iOS version updated to 12.0.
- Added new feature Client debug data. You can learn more in our feature documentation.
- Added support for Time Sensitive Notifications, You can learn more in our feature documentation.
- Added new feature to support Apple App extensions. You can learn more in our feature documentation.
- Deprecated
availableAuthMethods. UseauthMethodsForActivationandauthMethodsForAuthenticationinstead. - Deprecated
EncapDeviceTouchIDAuthParameterandEncapAuthMethodDeviceTouchID. UseEncapAuthMethodDeviceStrongTouchIDinstead.
SDK 3.15
News for release: SDK 3.15
- Added support for arm64-simulator architecture.
- Added new feature for App attestation. You can learn more in our feature documentation.
- Simplified push handling with
handleNotification(). You can learn more in our Push feature documentation.
SDK 3.14
News for release: SDK 3.14
- Minimum iOS version updated to 11.0.
- Added new feature for Geofencing. You can learn more in our feature documentation.
- All builds contain bitcode.
encap-ios-api-obfuscatedversion is no longer available.- Removed Signing feature.
SDK 3.13
News for release: SDK 3.13
- Minimum iOS version updated to 10.0.
- Added
APNS_NOTIFICATION_SOUND_ENABLEDto Application configuration. If enabled, then the default sound is added to APS payload. EncapTokenis used for tokenised operations.- Added support for recovering the registration by using iCloud or computer-based backup.