Getting Started

Requirements

In order to be able to use the Anyline SDK, only two requirements have to be met:

  • iOS 10.0 or higher
  • iPhone 5 or newer

Capture Resolution

Only 1080p camera devices are supported

Supported Architectures

The following Architectures are supported:

  • armv7,
  • x86_64,
  • arm64

The Anyline SDK Examples Bundle

If you rather like to jump into some code than to walk through a Quick Start Guide, a good starting point for development with the Anyline SDK, is to download the iOS SDK Bundle.

It includes the following:

  • Framework: Contains the Anyline.framework in version 6 and AnylineResources.bundle
  • Documentation: Contains a html and docset version of an appledoc style interface documentation
  • AnylineExamples: Contains a simple app where each plugin is implemented - it can be installed right away
  • LICENSE: The Third Party License Agreements
  • RELEASE_NOTES: Information about any changes

Not included in the bundle are the Example Sheets with testing material.
They can be downloaded here: Example Sheets

Quick Start Guide

This guide is going to lead you through the first steps when implementing the Anyline SDK on iOS.

Add the AnylineSDK

On iOS, there are two ways how you can add the Anyline SDK to your project.

With Cocoapods

Simply add pod ‘Anyline’, ’~> 4’ to your Podfile and run pod install or pod update. (Please make sure you are on the latest version of CocoaPods)

Local Copy

Simply drag & drop Anyline.framework & the AnylineResources.bundle into your project tree.

Add the iOS Framework

In the import screen select Copy items if needed and Create groups and add the files to your target.

Add the iOS SDK to your target

Generate an Anyline License

In order to run the Anyline SDK in your app, you require a License Key.

In order to create a license key, you first have to identify the Bundle Identifier of your iOS app.

License <> Bundle Identifier

Every license is bound to a Bundle Identifier. If you change your Bundle Identifier, you will require a new license. This also ensures that your license key cannot be used in any other application.

How to identify the Bundle Identifier

The iOS Bundle Identifier is best found in Xcode in the Project Overview / General.

Find the Bundle Identifier in your Project

Generate the License

With the Bundle Identifier you are now able to Generate a License

Integrate the License Key

The easiest way to use and store the license key is to initialize a NSString * const variable and assign the key string to it.

This could look like the following:

Save the license key as string constant
NSString * const kLicenseKey = @"YOUR KEY";

Now you can simple access the key via kLicenseKey in your code to initialize one of the Anyline Plugins. Please continue the Getting Started guide before you start scanning.

Linking Frameworks

After the Framework and Bundle got imported go to your project inspector. Add the following libraries in the Build Phases tab:

  • libc++.tbd
  • libz.tbd
  • AssetsLibrary.framework
  • Accelerate.framework
  • WebKit.framework

New in version 3.27: WebKit.framework has to be added

New in version 3.8: Accelerate.framework has to be added

After adding the libraries, it should look like this (notice the AnylineResources bundle, if its not in Copy Bundle Resources add it):

Add the Libraries to the Build Phase

Linker Flags

-all_load

-ObjC

Starting with version 3.6.0, this changed from -ObjC to -all_load

In your project inspector switch to the Build Settings tab and search for Other Linker Flags. Select Other - Other Linker Flags and add -all_load.

This flag causes the linker to load every object file in the library that defines an Objective-C class or category.

Add the correct Linker Flags

Init an Anyline ScanViewPlugin and ScanView in your ViewController or Storyboard

Now you are all set to load one of the Anyline SDK Plugins and start scanning.

The Plugins on iOS are described in detail at Plugins in the next section.