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 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 app’s 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 on that day at 11:59:59 PM. 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 app’s bundle identifier. Thus, no other app can hijack 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 a Scanbot SDK license here: https://scanbot.io/sdk.html.

In order to activate the license in the code use the +[ScanbotSDK setLicense:] method in the ScanbotSDK class. Execute this code as early as possible during your app’s 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 any user interfaces.

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 implementing 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 contained in an encrypted data part of the license key string. This 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.