iOS
This is a walkthrough of how you can integrate the Onboarding or Authenticate SDK for iOS applications.
Getting started
In order to perform an Onboarding or an Authenticate, you should follow those steps:
Set up the SDK: install and import the SDK.
Get a token: request a token using your business credentials
Start an onboarding or authenticate flow: launch a user workflow.
Get the user workflow result from SDK: use the Message handler to get insights about the user workflow.
Get the Analysis result: use your callback or the endpoint to get the analysis result.
1. Set up the SDK
1.1. Project requirements
The proper functioning of the SDK necessitates the provision of several parameters. These parameters are essential for enabling the full range of functionalities offered by the SDK.
iOS 15+ (because of Swift minimum version)
Available for iPhone and iPad in portrait mode only
Interface: Swift and SwiftUI
Mandatory app permission
The SDK uses the device's camera functionality.
You must add NSCameraUsageDescription
within your application's Info.plist
file (see Apple documentation).
1.2. Install SDK
ShareID supports CocoaPods with authenticate handled via a .netrc
file.
To securely manage your credentials, you’ll need to create a .netrc
file in your home directory with the necessary login details.
Create and open
Type touch ~/.netrc & open ~/.netrc
Add login details
Set file permissions
chmod 600 ~/.netrc
1.3. Add the dependency
To install the SDK with CocoaPods, you'll need to add the dependency to your Podfile
. (if it doesn't exist, create one by running the following command in your project directory: pod init
)
Add the following to your target
Run
pod install
to install the dependencyNow, you can import and use the SDK in your project
2. Get a token
Use the credentials you received from ShareID's team to get an authentication token and launch an onboarding or authenticate workflow.
Depending on the SDK you are integrating (Onboarding/Authenticate), you may use an API here Get a Token
3. Start an onboarding or authenticate flow
Once you have added the SDK as a dependency and have your credentials, you can configure the SDK.
The service
specifies the service in the SDK:
onboarding
starts the onboarding processauthenticate
starts the authenticate process
The initial SDK screen is automatically triggered upon execution of the method above.
4. Get the user workflow result from SDK
To receive feedback from the SDK, you need to implement the messageHandler
closure, which manages various responses from the ShareID process.
This closure is triggered when the ShareID SDK completes an operation, fails, or encounters an error.
To view all possible end-of-process results in our SDK, please refer to the Message Handler for all success, exit and failure states.
5. Get the analysis result
When the processing of an onboarding or authenticate request is finished, you may receive the result through the callback if you provided it. You may also, fetch yourself the result by calling our API.
See Get the analysis result for more details.
Customisation
The ShareID iOS SDK is built to be highly customisable, allowing for flexibility through various configuration options or by applying themes to adapt the user interface to your needs.
Configuration
To customise the SDK, pass a ShareID.Theme
after building the flow.
Set the colors
Once you've assigned colors, light/dark mode management is no longer supported.
Set the fonts & text size
To use a customisable font, you may need to register the font to make it effective! (see apple tutorial)
Set the shapes
Localisation
To customise the text displayed by the ShareID SDK, you can provide your own translations by following these steps:
In Xcode, right-click on your project folder > New File... > Strings File > name it
Localizable.strings
Add this file for each language you wish to customise with the same keys as those defined by ShareID to replace the SDK default values (see the localisation keys)
Example:
Languages supported:
🇸🇦 (ar), 🇩🇪 (de), 🇬🇧 (en), 🇪🇸 (es), 🇫🇷 (fr), 🇮🇹 (it), 🇵🇹 (pt), 🇷🇴 (ro), 🇷🇺 (ru), 🇵🇱 (pl)
Be sure to add CFBundleLocalizations
to your Info.plist
file with all the languages you want to support in your application. (This ensures that default Apple buttons are properly localised and enables RTL navigation)
FAQ
Technical support and contact 💬
Last updated