Skip to main content

AilaConfiguration

Since 3.0.0

SDK configuration object used to configure all Aila settings.

Declaration​

@interface AilaConfiguration : NSObject
@end

Description​

This object is used to configure the parameters available within the SDK. Create an instance, set the desired properties, and pass it to Aila_SetConfiguration(). Default values are subject to change between library versions.

Properties​

multiScanMode​

Since 3.0.0

MultiScan enables the Aila SDK to acquire multiple objects (e.g. barcodes), returning them as a data stream as they are scanned.

Type: AilaMultiScanMode Default: AilaMultiScanModeOff

duplicateFilter​

Since 3.0.0

This property only applies when AilaMultiScanMode is enabled. When on, once an object has been captured it will not return again until timeout or Aila_ResetScan() is called.

Type: AilaDuplicateFilter Default: AilaDuplicateFilterOn

gs1ParsingMode​

Since 3.0.0

Enables or disables parsing of GS1-formatted barcodes.

Type: AilaGS1ParsingMode Default: AilaGS1ParsingModeOff

mrzMode​

Since 3.0.0

Enables or disables support for scanning Machine Readable Zones (MRZ) on passports and IDs.

Type: AilaMRZMode Default: AilaMRZModeOff

mrzDetectionMode​

Since 3.0.0

Enables or disables MRZ detection notifications for partial MRZ pieces.

Type: AilaMRZDetectionMode Default: AilaMRZDetectionModeOff

upceExpansionMode​

Since 3.0.0

Expands UPC-E barcodes to their equivalent UPC-A format if enabled.

Type: AilaUPCEExpansionMode Default: AilaUPCEExpansionModeOff

eanSupplementalMode​

Since 3.0.0

Enables detection and handling of EAN supplemental codes (e.g., 2-digit or 5-digit add-ons).

Type: AilaEANSupplementalMode Default: AilaEANSupplementalModeOff

dlParsingMode​

Since 3.0.0

Enables or disables parsing of PDF417 driver's licenses (AAMVA-compliant).

Type: AilaDLParsingMode Default: AilaDLParsingModeOff

beepMode​

Since 3.0.0Deprecated in 3.1.0Use beepVolume instead; beepMode will be removed in April 2027.

Controls whether an audible beep is played when a scan is successful. Ignored when multiScanMode is enabled.

Type: AilaBeepMode Default: AilaBeepModeOn

beepVolume​

Since 3.1.0

Controls the volume of the beep played when a scan is successful. Ignored when multiScanMode is enabled. A beep triggered manually with Aila_Beep() also plays at this volume.

Type: AilaBeepVolume Default: AilaBeepVolume3

AilaBeepVolume0 turns the beep off; AilaBeepVolume1 to AilaBeepVolume5 turn it on at increasing volumes. Volume control depends on the head unit model, which is printed on the sticker inside the head unit enclosure:

  • "Head Unit for ..." - Full volume control is supported.
  • "IK for ..." - Volume control isn't supported. AilaBeepVolume0 turns the beep off, and AilaBeepVolume1 to AilaBeepVolume5 all beep at the same fixed volume.

On older systems, volumes 1-5 always beep at the default volume.

beepVolume replaces the deprecated beepMode: AilaBeepVolume0 behaves like AilaBeepModeOff, and AilaBeepVolume1 to AilaBeepVolume5 like AilaBeepModeOn.

focusMode​

Since 3.0.0

Specifies the focus mode used by the scanner.

Type: AilaFocusMode Default: AilaFocusStandardMode

id1CardDetectionMode​

Since 3.0.0

Kiosks fitted with an ID Tray can automatically detect the presence of an ID-1 sized card.

Type: AilaID1CardDetectionMode Default: AilaID1CardDetectionModeOff

imageCaptureDebugMode​

Since 3.0.0

Allows the return of the image regardless of whether ImageCapture reaches a timeout condition.

Type: AilaImageCaptureDebugMode Default: AilaImageCaptureDebugModeOff

enabledCameraPosition​

Since 3.0.0

Allows for the ability to scan from front or back camera.

Type: AilaEnabledCameraPosition Default: AilaEnabledCameraPositionBack

rsm​

Since 3.0.0

Remote status monitoring allows Aila to monitor system health, performance, and provide enhanced customer support.

Type: AilaRSM Default: AilaRSMOn

cloudLicensing​

Since 3.0.0

Cloud licensing enables management of licensed features via the developer portal.

Type: AilaCloudLicensing Default: AilaCloudLicensingOn

powerManagementMode​

Since 3.0.0

Power Management has two modes: Efficiency Mode and Safe Mode.

Type: AilaPowerManagementMode Default: AilaPowerManagementModeOn

scanCallback​

Since 3.0.0

Upon each successful scan, scanCallback will be invoked in an arbitrary non-main thread. No further scans may occur until scanCallback returns.

Type: AilaScanCallback (block/closure) Default: nil

debugLevel​

Since 3.0.0

Specifies the debug logging level for SDK output.

Type: AilaDebugLevel Default: AilaDebugLevelSilent

enabledLogCategories​

Since 3.1.0

Limits Info, Debug and Bulk log messages to the listed categories, which reduces console noise when debugging a specific area. Error and Warn messages are never filtered by category.

Type: NSSet<NSNumber *> * of AilaLogCategory values ([AilaLogCategory]? through logCategories in Swift) Default: nil

ValueBehavior
nilAll categories are logged
Empty setNo Info, Debug or Bulk messages are logged
Non-empty setOnly the listed categories log at Info, Debug and Bulk
config.debugLevel = AilaDebugLevelDebug;
config.enabledLogCategories = [NSSet setWithObjects:
@(AilaLogCategoryMRZ), @(AilaLogCategoryScan), nil];
Aila_SetConfiguration(config);

Methods​

setCode:enabled:​

Since 3.0.0

Disable or enable code types individually.

- (void)setCode:(AilaCodeType)codeType enabled:(BOOL)enableCode;

Parameters:

  • codeType - The code type to configure
  • enableCode - YES/true to enable, NO/false to disable

To disable all barcode symbologies, use AilaCodeTypeNone.

Usage Example​

AilaConfiguration *config = [[AilaConfiguration alloc] init];

// Set modes
config.multiScanMode = AilaMultiScanModeOn;
config.beepMode = AilaBeepModeOff;
config.mrzMode = AilaMRZModeOn;
config.dlParsingMode = AilaDLParsingModeOn;

// Enable specific code types
[config setCode:AilaCodeTypeQR enabled:YES];
[config setCode:AilaCodeType128 enabled:YES];
[config setCode:AilaCodeTypePDF417 enabled:YES];

// Set scan callback
config.scanCallback = ^(NSArray<AilaScanObject *> *results) {
for (AilaScanObject *scan in results) {
NSLog(@"Type: %@, Data: %@", [scan typeDescription], scan.data);
}
};

// Set debug level
config.debugLevel = AilaDebugLevelInfo;

// Apply configuration
Aila_SetConfiguration(config);

See Also​