Premium iOS SDK
Version: 1.0.0
Minimum supported iOS version: 15 (this is what we test)
Minimum compiling iOS version: 14 (this is where it compiles but not actually working and we block it by warning message on SDK initial screen)
UI framework: SwiftUI
Appearance: Light/Dark
Supported orientations: Portrait
Supported languages: English/Ukrainian/Russian/Kazakh
How to setup the SDK
To get the dependency, you first need to configure access to our repository.
Install AWS CLI using this guide.
Configure AWS CLI using the credentials provided by us. To do this, run the following command in your terminal.
> aws configure
# After executing the command, you will be prompted to enter the following information
AWS Access Key ID [None]: <YOUR_ACCESS_KEY>
AWS Secret Access Key [None]: <YOUR_SECRET_KEY>
Default region name [None]: eu-central-1
Default output format [None]: jsonInitialise your app
Configure your swift client using this AWS CLI CodeArtifact command
Modify the Package.swift file within your application project directory to adjust the package dependencies utilized by your project. If the Package.swift file does not have a dependencies section, include one. Within the targets section, add the targets requiring the dependency. It should look similar to code snippet below:
Use the resolve command to download the package dependencies from CodeArtifact.
Alternatively, you can add packages by navigating to App > package dependencies on Xcode. “Click” on the + icon, Enter ios.premium-ios-sdk. Once the package is found, choose the package and “Click” on Add Package. After a second or two, the package name appears on the list. On the top right side, you can verify the source repository (next to the Registry label).
Import the framework
Add strings to Info.plist to avoid crashes

There are 2 convenience initialisers for SDK: by client token and by customer ID (like shown in code sample below). To init the SDK by client token you will need to set a client token and in which way the token was retrieved (by list of phone hashes or by customer id). To obtain this token, your backend must have the appropriate API. You need to implement the logic for retrieving this token from your backend and passing it to the SDK. Init ConciergeSDK with your client token
If you don't have client ID at the moment then the only option left is to ask SDK to authenticate him/her via SMS/OTP. In order to do this you need to use another initialiser (like shown in code snippet below). You need to provide your username/password + your internal customer ID. If SDK does not have any information about customer with your internal ID it will navigate user to authentication flow. Otherwise SDK will let user pass through.
[Optionally] Set language:
[Optionally] Set colors:
[Optionally] Set images Now there is an ability to set different sets of images for different sub-systems of the SDK. At the moment of writing this documentation there are 2 main subsystems: Concierge and Benefits. Concierge subsystem allows specifying images while Benefits does not allow any customisation at the moment. So in order to specify images you need to invoke code similar to what is shown below:
[Optionally] Set fonts: This customisation is common for Concierge and Benefits sub-systems and will be applied in both of them
[Optionally] Set custom texts if needed: This customisation is only for Concierge sub-system
[Optionally] Set other UI settings if needed: This customisation is only for Concierge sub-system
Set delegate and implement delegate methods
Call start() function
Instantiate SwiftUI view: Depending on which sub-system of SDK you want to use (Concierge/Benefits) you should invoke corresponding function
Due to the tab bar and navigation bars, It should be presented as a full screen cover or as separate window Full example:
Last updated