Table of contents
Swift
Objective-C

This documentation is deprecated. It applies only to legacy version 9.x of Barcode Reader and must not be used for new development.

Please refer to the latest documentation and Migration Guide, which supersede this content.

Parameter and Runtime Settings Advanced Methods

Method Description
initRuntimeSettingsWithFile Initialize runtime settings with the settings in a given JSON file.
initRuntimeSettingsWithString Initialize runtime settings with the settings in a given JSON string.
appendTplFileToRuntimeSettings Append a new template file to the current runtime settings.
appendTplStringToRuntimeSettings Append a new template string to the current runtime settings.
allParameterTemplateNames Gets the parameter templates name array.
outputSettingsToFile Output runtime settings to a settings file (JSON file).
outputSettingsToString Output runtime settings to a string.
setModeArgument Sets the optional argument for a specified mode in Modes parameters.
getModeArgument Gets the optional argument for a specified mode in Modes parameters.

initRuntimeSettingsWithFile

Initialize runtime settings with the parameters obtained from a JSON file.

  • Objective-C
  • Swift
  1. - (BOOL)initRuntimeSettingsWithFile:(NSString* _Nonnull)fileName
                       conflictMode:(EnumConflictMode)conflictMode
                              error:(NSError* _Nullable * _Nullable)error;
    
  2. func initRuntimeSettingsWithFile(_ fileName: String, conflictMode: EnumConflictMode) throws
    

Parameters

[in] fileName: The settings file path.
[in] conflictMode: The parameter setting mode, which decides whether to inherit parameters from previous template settings or to overwrite previous settings with the new template.
[in,out] error: A pointer to an error object.

An error occurs when:

  • The file is not found.
  • There exists parameters that are invalid or out of range.
  • The template name is invalid.

Code Snippet

  • Objective-C
  • Swift
  1. [barcodeReader initRuntimeSettingsWithFile:@"your template file path" conflictMode:EnumConflictModeOverwrite error:nil];
    
  2. do{
       try barcodeReader.initRuntimeSettingsWithFile("your template file path", conflictMode:EnumConflictMode.overwrite)
    }catch{
       // Add your code to deal with exceptions
    }
    

initRuntimeSettingsWithString

Initialize runtime settings with the parameters obtained from a JSON string.

  • Objective-C
  • Swift
  1. - (BOOL)initRuntimeSettingsWithString:(NSString* _Nonnull)content
                         conflictMode:(EnumConflictMode)conflictMode
                                error:(NSError* _Nullable * _Nullable)error;
    
  2. func initRuntimeSettingsWithString(_ content: String, conflictMode: EnumConflictMode) throws
    

Parameters

[in] content: A JSON string that represents the content of the settings.
[in] conflictMode: The parameter setting mode, which decides whether to inherit parameters from previous template setting or to overwrite previous settings with the new template.
[in,out] error: A pointer to an error object.

An error occurs when:

  • The library failed to parse the JSON string.
  • There exists parameters that are invalid or out of range.
  • The template name is invalid.

Code Snippet

  • Objective-C
  • Swift
  1. [barcodeReader initRuntimeSettingsWithString:@"{\"Version\":\"3.0\", \"ImageParameter\":{\"Name\":\"IP1\", \"BarcodeFormatIds\":[\"BF_QR_CODE\"], \"ExpectedBarcodesCount\":10}}" conflictMode:EnumConflictModeOverwrite error:nil];
    
  2. do{
       try barcodeReader.initRuntimeSettingsWithString("{\"Version\":\"3.0\", \"ImageParameter\":{\"Name\":\"IP1\", \"BarcodeFormatIds\":[\"BF_QR_CODE\"], \"ExpectedBarcodesCount\":10}}", conflictMode:EnumConflictMode.overwrite)
    }catch{
       // Add your code to deal with exceptions
    }
    

appendTplFileToRuntimeSettings

Append a new template file to the current runtime settings.

  • Objective-C
  • Swift
  1. - (BOOL)appendTplFileToRuntimeSettings:(NSString * _Nonnull)fileName
                          conflictMode:(EnumConflictMode)conflictMode
                                 error:(NSError * _Nullable *_Nullable)error;
    
  2. func appendTplFileToRuntimeSettings(_ fileName: String, conflictMode: EnumConflictMode) throws
    

Parameters

[in] fileName: The settings file path.
[in] conflictMode: The parameter setting mode, which decides whether to inherit parameters from previous template settings or to overwrite previous settings with the new template.
[in,out] error: A pointer to an error object.

An error occurs when:

  • The file is not found.
  • There exists parameters that are invalid or out of range.
  • The template name is invalid.

Code Snippet

  • Objective-C
  • Swift
  1. [barcodeReader appendTplFileToRuntimeSettings:@"your template file path" conflictMode:EnumConflictModeIgnore error:nil];
    
  2. do{
       try barcodeReader.appendTplFileToRuntimeSettings("your template file path", conflictMode:EnumConflictMode.ignore, error:&error)
    }catch{
       // Add your code to deal with exceptions
    }
    

appendTplStringToRuntimeSettings

Append a new template string to the current runtime settings.

  • Objective-C
  • Swift
  1. - (BOOL)appendTplStringToRuntimeSettings:(NSString * _Nonnull)content
                            conflictMode:(EnumConflictMode)conflictMode
                                   error:(NSError *_Nullable *_Nullable)error;
    
  2. func appendTplStringToRuntimeSettings(_ content: String, conflictMode: EnumConflictMode) throws
    

Parameters

[in] content: A JSON string that represents the content of the settings.
[in] conflictMode: The parameter setting mode, which decides whether to inherit parameters from previous template setting or to overwrite previous settings with the new template.
[in,out] error: A pointer to an error object.

An error occurs when:

  • The library failed to parse the JSON string.
  • There exists parameters that are invalid or out of range.
  • The template name is invalid.

Code Snippet

  • Objective-C
  • Swift
  1. [barcodeReader initRuntimeSettingsWithString:@"{\"Version\":\"3.0\", \"ImageParameter\":{\"Name\":\"IP1\", \"BarcodeFormatIds\":[\"BF_QR_CODE\"], \"ExpectedBarcodesCount\":10}}" conflictMode:EnumConflictModeOverwrite error:nil];
    [barcodeReader appendTplStringToRuntimeSettings:@"{\"Version\":\"3.0\", \"ImageParameter\":{\"Name\":\"IP1\", \"BarcodeFormatIds\":[\"BF_OneD\"], \"ExpectedBarcodesCount\":20}}" conflictMode:EnumConflictModeIgnore error:nil];
    
  2. do{
       try barcodeReader.initRuntimeSettingsWithString("{\"Version\":\"3.0\", \"ImageParameter\":{\"Name\":\"IP1\", \"BarcodeFormatIds\":[\"BF_QR_CODE\"], \"ExpectedBarcodesCount\":10}}", conflictMode:EnumConflictMode.Overwrite)
       try barcodeReader.appendTplStringToRuntimeSettings("{\"Version\":\"3.0\", \"ImageParameter\":{\"Name\":\"IP1\", \"BarcodeFormatIds\":[\"BF_OneD\"], \"ExpectedBarcodesCount\":20}}", conflictMode:EnumConflictMode.ignore)
    }catch{
       // Add your code to deal with exceptions
    }
    

allParameterTemplateNames

Get count of parameter templates.

  • Objective-C
  • Swift
  1. - (NSArray<NSString*>* _Nullable)allParameterTemplateNames: (NSError *__autoreleasing  _Nullable * _Nullable)error;
    
  2. func allParameterTemplateNames() throws -> [String]
    

Parameters

[in,out] error: A pointer to an error object.

An error occurs when:

  • The library failed to get all template names.

Return Value

The template name array.

Code Snippet

  • Objective-C
  • Swift
  1. NSArray* allTplNames = [barcodeReader allParameterTemplateNames:nil];
    
  2. let allTplNames = do{
       try barcodeReader.allParameterTemplateNames()
    }catch{
       // Add your code to deal with exceptions
    }
    

outputSettingsToFile

Outputs runtime settings and save them into a settings file (JSON file).

  • Objective-C
  • Swift
  1. - (BOOL)outputSettingsToFile:(NSString *_Nullable)filePath 
                settingsName:(NSString*_Nonnull)settingsName 
                       error:(NSError*_Nullable *_Nullable)error;
    
  2. func outputSettingsToFile(_ filePath: String?, settingsName: String) throws
    

Parameters

[in] filePath The path of the output file which stores current settings.
[in] settingsName A unique name for declaring current runtime settings.
[in,out] error: A pointer to an error object.

An error occurs when:

  • The file path is not found.
  • The library failed to output the settings.

Code Snippet

  • Objective-C
  • Swift
  1. settingsName = [barcodeReader outputSettingsToFile:@"your saving file path" settingsName:@"currentRuntimeSettings" error:nil];
    
  2. do{
       let settingsName = try barcodeReader.outputSettingsToFile("your saving file path", settingsName:"currentRuntimeSettings")
    }catch{
       // Add your code to deal with exceptions
    }
    

outputSettingsToString

Output runtime settings to a string.

  • Objective-C
  • Swift
  1. - (NSString *_Nullable)outputSettingsToString:(NSString*_Nonnull)settingsName 
                                        error:(NSError* _Nullable * _Nullable)error;
    
  2. func outputSettingsToString(_ settingsName: String) throws -> String
    

Parameters

[in] settingsName A unique name for declaring current runtime settings.
[in,out] error: A pointer to an error object.

An error occurs when:

  • The library failed to output the settings.

Return Value

The output string which stores the content of current settings.

Code Snippet

  • Objective-C
  • Swift
  1. settingsName = [barcodeReader outputSettingsToString:@"currentRuntimeSettings" error:nil];
    
  2. do{
       let settingsName = try barcodeReader.outputSettingsToString("currentRuntimeSettings")
    }catch{
       // Add your code to deal with exceptions
    }
    

setModeArgument

Sets the optional argument for a specified mode in Modes parameters.

  • Objective-C
  • Swift
  1. - (BOOL)setModeArgument:(NSString* _Nonnull)modeName
                    index:(NSInteger)index 
                    argumentName:(NSString* _Nonnull)argumentName
                    argumentValue:(NSString* _Nonnull)argumentValue
                    error:(NSError* _Nullable * _Nullable)error;
    
  2. func setModeArgument(_ modeName: String, index: Int, argumentName: String, argumentValue: String) throws
    

Parameters

[in] modesName The mode parameter name to set argument.
[in] index The array index of mode parameter to indicate a specific mode.
[in] argumentName The name of the argument to set.
[in] argumentValue The value of the argument to set.
[in,out] error: A pointer to an error object.

An error occurs when:

  • The library failed to set the mode argument. It might because you input incorrect modeName, index, argumentName or argumentValue.

Code Snippet

  • Objective-C
  • Swift
  1. iPublicRuntimeSettings *settings = [barcodeReader getRuntimeSettings:nil];
    settings.binarizationModes = @[@(EnumBinarizationModeLocalBlock)];
    [barcodeReader updateRuntimeSettings:settings error:nil];
    [barcodeReader setModeArgument:@"BinarizationModes" index:0 argumentName:@"EnableFillBinaryVacancy" argumentValue:"1" error:nil];
    
  2. do{
       let settings = try barcodeReader.getRuntimeSettings()
       settings.binarizationModes = [EnumBinarizationMode.localBlock]
       try barcodeReader.updateRuntimeSettings(settings)
       try barcodeReader.setModeArgument("BinarizationModes", index: 0, argumentName: "EnableFillBinaryVacancy", argumentValue: "1")
    }catch{
       // Add your code to deal with exceptions
    }
    

Remarks

Check follow link for available modes and arguments:

getModeArgument

Gets the optional argument for a specified mode in Modes parameters.

  • Objective-C
  • Swift
  1. -(NSString* _Nonnull)getModeArgument:(NSString* _Nonnull)modeName
                               index:(NSInteger)index
                        argumentName:(NSString* _Nonnull)argumentName
                               error:(NSError* _Nullable * _Nullable)error;
    
  2. func getModeArgument(_ modeName: String, index: Int, argumentName: String) throws -> String
    

Parameters

[in] modesName The mode parameter name to get arguments.
[in] index The array index of mode parameter to indicate a specific mode.
[in] argumentName The name of the argument to get.
[in,out] error: A pointer to an error object.

An error occurs when:

  • The library failed to get the mode argument. It might because you input incorrect modeName, index or argumentName.

Return Value

the optional argument for a specified mode

Code Snippet

  • Objective-C
  • Swift
  1. iPublicRuntimeSettings *settings = [barcodeReader getRuntimeSettings:nil];
    settings.binarizationModes = @[@(EnumBinarizationModeLocalBlock)];
    [barcodeReader updateRuntimeSettings:settings error:nil];
    [barcodeReader setModeArgument:@"BinarizationModes" index:0 argumentName:@"EnableFillBinaryVacancy" argumentValue:"1" error:nil];
    argumentValue = [barcodeReader getModeArgument:@"BinarizationModes" index:0 argumentName:@"EnableFillBinaryVacancy" error:&error];
    
  2. let settings = do{
       try barcodeReader.getRuntimeSettings()
       settings.binarizationModes = [EnumBinarizationMode.localBlock]
       try barcodeReader.updateRuntimeSettings(settings)
       try barcodeReader.setModeArgument("BinarizationModes", index: 0, argumentName: "EnableFillBinaryVacancy", argumentValue: "1")
       let argumentValue = try barcodeReader.getModeArgument("BinarizationModes", index: 0, argumentName: "EnableFillBinaryVacancy")
    }catch{
       // Add your code to deal with exceptions
    }
    

Remarks

Check follow link for available modes and arguments:

This page is compatible for:

Is this page helpful?

YesYes NoNo

In this article: