License

In order to run Scanbot SDK functionality within your app you must purchase and install a Scanbot SDK license.

Not installing a license will let you test all Scanbot SDK features for a trial period of 1 minute. After the trial period is over your app will be terminated immediately. Installing an invalid license will also terminate your application immediately. Installing an expired but valid license will not terminate your app immediately but when using Scanbot SDK API. If the license expires during the apps life cycle Scanbot SDK will continue to work normally until the next start of the application.

If an expiration date is given for the license the license will expire at that day at 11:59:59 PM o'clock. The timezone of the license is UTC. Any logging of the SDK converts the UTC expiration date to your local timezone.

The license also defines which modules you are allowed to use. The usage of unlicensed modules will log an error to the console and terminate the app.

Each license is valid only to your apps bundle identifier. So no other app can highjack your license and reuse it. Any modification of the license will render it invalid. Make sure that you store your license in a safe location.

You can purchase Scanbot SDK licenses here: https://scanbot.io/sdk.html.

In order to activate the license in code use the method +[ScanbotSDK setLicense:] method in the ScanbotSDK class. Execute this code as early as possible during your apps runtime, but at least before using any Scanbot SDK functionality, e.g. in your application delegates -application:didFinishLaunchingWithOptions: method.

If your license has expired any invocation of the Scanbot SDK API will terminate your app. To prevent this you should check for license expiration during runtime by calling [ScanbotSDK isLicenseValid]. If this method returns NO, you should disable Scanbot-SDK-using features or UI.

Example code for using the license string

- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

[ScanbotSDK setLicense:
@"P73ZaxJ3VG08E+0sUqcbf+BPmKoCDVmWZthAS/FmYsh2I"
"DT9AJbIKbBRfaDSzjZed4+py7suMYDq++TuzkqVc9CYwGb"
"3VL68OhsOEpUAJ/GOdVfZnSTFvDo1JQvq54nY2+EChviwM"
"CkBXCDO7YSMB/Rp42dlu7x3a/EFbor+PmlBpZhfdwveyWX"
"5MasHiMzgNicdb33hVgyWgcv74NpxL1XyZkcvn7wQrzgzq"
"JtJ63YUI6SPmTZtJB2M+0IMYeQXj1HltWX5mcohEIFPme7"
"hU0BZB3S476QMceeL4bPCZjgu1vjL7kxKurIqmJGT6juGu"
"kFQFJWPoccmgtJnHxI0Cg==U2NhbmJvdFNESwpuZXQuZ"
"G9vLlBheUZvcm1TY2FubmVyRGVtbwowCjEyOA=="];

return YES;
}

License checks in production apps

If your Scanbot SDK license has expired, any call of the Scanbot SDK API will terminate your app. To prevent this you should always check for license expiration during the runtime by calling the method +[ScanbotSDK isLicenseValid]. If this method returns NO, you should disable any usage of the Scanbot SDK functions or UI components.

We highly recommend to implement a suitable handling of this case in your app!

Example code for checking the license status

if ([ScanbotSDK isLicenseValid]) {
//Making your call into ScanbotSDK API is safe now.
...
}

Updating the license in production apps

To renew an expired license or extend a valid license with new Scanbot SDK features, you will have to update your app in the App Store. The expiration date and the feature list of a license are an encrypted data part of the license key string. Which means a renewal or extension of a license will cause a new license key string to be generated.

Trial licenses

You can get a free no strings attached trial license. Please kindly note that this license can only be used in a development and staging environment. You are not allowed to publish your app to the App Store with a trial license.