Skip to main content

SDK Initialization | iOS Barcode Scanner


In order to run the Scanbot SDK functionality within your production app, you have to purchase and use a valid Scanbot SDK license.

Each license key is valid only for a given app bundle identifier. You will be unable to use any of the SDK features if the license key is corrupted, expired or invalid in any other way.

Trial License#

The Scanbot SDK will run without a license for one minute per session! To get an unrestricted, "no-strings-attached" 30-day trial license, please submit the Trial License Form on our website.

Please kindly note that a trial license can only be used in a development and staging environment. You are not allowed to publish your app to the App Store, Play Store or any 3rd party Android App Store with a trial license.

Purchase a Production License#

To get pricing information and purchase a production license for the Scanbot SDK please request a quote.


In order to activate the license in the code use the +[ScanbotSDK setLicense:] method of 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 class (AppDelegate).

If your license has expired any invocation of the Scanbot Barcode SDK API will not work. You can check for license expiration during runtime by using the +[ScanbotSDK isLicenseValid] method.

Example code for setting the license key string:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    ScanbotSDK.setLicense(      "hiasVhl+q8EgpnDaCEjzDPgp6ex91j" +      "y6nLK60knb5DGnaMbxnx3pO7jrML5H" +      "5E6t1XGJ6tFsQm9mm+hSfVnetqEhe4" +      "VNfXzi/lFYpWT8ICQ1c7YbZbAeyPXc" +      "D/IcDaRz1vxS85aOL0tbYXynBzvkSx" +      "mMyFDaL/obrke4h+sonCbLauUA7yXX" +      "yWlT3gZujS6/a+SzhzpB+7+lCd+Y52" +      "GBvOsg+h8JfieM/oFzCUZrSazOEusU" +      "EyOewKLDiOdNqgJpAGK1hF1nQwhcr7" +      "PysYuECotHSE6NQ2vWJ6RqOz974prq" +      "EIjEhdprY62qD2pip2MbBHgKYL69DQ" +      "bFAgyNfSWNtg==\nU2NhbmJvdFNESw" +      "ppby5zY2FuYm90LmV4YW1wbGUuc2Rr" +      "LmRlbW8KMTU0NjM4NzE5OQo1MTIKMQ" +      "==\n")
    return true}

License checks in production apps#

If your Scanbot Barcode Scanner SDK license has expired, any call to the Scanbot Barcode Scanner SDK API will not work. You should always check for license expiration during the runtime by using one of the following methods:

  • +[ScanbotSDK isLicenseValid] This method returns a simple boolean flag. false means the license is not valid or has expired and you should disable any usage of the Scanbot Barcode SDK functions or UI components.

  • +[ScanbotSDK licenseStatus] This methods returns more details about the status of the current license key.

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 to Scanbot Barcode Scanner SDK API is now safe.    // E.g. launch the Document Scanner UI, apply image filter, etc ...}

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.


Scanbot SDK comes with its own console logging. By default the logging is turned on.

You can turn off logging of Scanbot SDK:

[ScanbotSDK setLoggingEnabled:NO];

This will also silence information about the Scanbot SDK license.