barkoder-nativescript 1.6.2 → 1.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/barkoder-nativescript.android.ts +232 -0
  2. package/barkoder-nativescript.common.ts +47 -1
  3. package/barkoder-nativescript.ios.ts +236 -0
  4. package/package.json +1 -1
  5. package/platforms/android/barkoder.aar +0 -0
  6. package/platforms/ios/Barkoder.xcframework/ios-arm64/Barkoder.framework/Barkoder +0 -0
  7. package/platforms/ios/Barkoder.xcframework/ios-arm64/Barkoder.framework/Headers/iBarkoder.h +76 -3
  8. package/platforms/ios/Barkoder.xcframework/ios-arm64/Barkoder.framework/Info.plist +0 -0
  9. package/platforms/ios/Barkoder.xcframework/ios-arm64/Barkoder.framework/Modules/module.modulemap +0 -0
  10. package/platforms/ios/Barkoder.xcframework/ios-arm64/Barkoder.framework/default.metallib +0 -0
  11. package/platforms/ios/Barkoder.xcframework/ios-arm64/Barkoder.framework/float16_384x256.mlmodelc/coremldata.bin +0 -0
  12. package/platforms/ios/Barkoder.xcframework/ios-arm64/Barkoder.framework/float16_384x256.mlmodelc/metadata.json +2 -2
  13. package/platforms/ios/Barkoder.xcframework/ios-arm64/Barkoder.framework/float16_384x256.mlmodelc/model.mil +1 -1
  14. package/platforms/ios/Barkoder.xcframework/ios-arm64/Barkoder.framework/float16_512x384.mlmodelc/coremldata.bin +0 -0
  15. package/platforms/ios/Barkoder.xcframework/ios-arm64/Barkoder.framework/float16_512x384.mlmodelc/metadata.json +3 -3
  16. package/platforms/ios/Barkoder.xcframework/ios-arm64/Barkoder.framework/float16_512x384.mlmodelc/model.mil +1 -1
  17. package/platforms/ios/Barkoder.xcframework/ios-arm64_x86_64-simulator/Barkoder.framework/Barkoder +0 -0
  18. package/platforms/ios/Barkoder.xcframework/ios-arm64_x86_64-simulator/Barkoder.framework/Headers/iBarkoder.h +76 -3
  19. package/platforms/ios/Barkoder.xcframework/ios-arm64_x86_64-simulator/Barkoder.framework/Info.plist +0 -0
  20. package/platforms/ios/Barkoder.xcframework/ios-arm64_x86_64-simulator/Barkoder.framework/Modules/module.modulemap +0 -0
  21. package/platforms/ios/Barkoder.xcframework/ios-arm64_x86_64-simulator/Barkoder.framework/_CodeSignature/CodeResources +15 -19
  22. package/platforms/ios/Barkoder.xcframework/ios-arm64_x86_64-simulator/Barkoder.framework/default.metallib +0 -0
  23. package/platforms/ios/Barkoder.xcframework/ios-arm64_x86_64-simulator/Barkoder.framework/float16_384x256.mlmodelc/coremldata.bin +0 -0
  24. package/platforms/ios/Barkoder.xcframework/ios-arm64_x86_64-simulator/Barkoder.framework/float16_384x256.mlmodelc/metadata.json +3 -3
  25. package/platforms/ios/Barkoder.xcframework/ios-arm64_x86_64-simulator/Barkoder.framework/float16_384x256.mlmodelc/model.mil +1 -1
  26. package/platforms/ios/Barkoder.xcframework/ios-arm64_x86_64-simulator/Barkoder.framework/float16_512x384.mlmodelc/coremldata.bin +0 -0
  27. package/platforms/ios/Barkoder.xcframework/ios-arm64_x86_64-simulator/Barkoder.framework/float16_512x384.mlmodelc/model.mil +1 -1
  28. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64/BarkoderSDK.framework/BarkoderSDK +0 -0
  29. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64/BarkoderSDK.framework/Headers/BarkoderSDK-Swift.h +143 -1
  30. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64/BarkoderSDK.framework/Info.plist +0 -0
  31. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64/BarkoderSDK.framework/Modules/BarkoderSDK.swiftmodule/arm64-apple-ios.abi.json +4102 -258
  32. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64/BarkoderSDK.framework/Modules/BarkoderSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +91 -0
  33. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64/BarkoderSDK.framework/Modules/BarkoderSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  34. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64/BarkoderSDK.framework/Modules/BarkoderSDK.swiftmodule/arm64-apple-ios.swiftinterface +91 -0
  35. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64/BarkoderSDK.framework/beep.wav +0 -0
  36. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64/BarkoderSDK.framework/templates.json +437 -14
  37. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/BarkoderSDK +0 -0
  38. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/Headers/BarkoderSDK-Swift.h +286 -2
  39. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/Info.plist +0 -0
  40. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/Modules/BarkoderSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +4102 -258
  41. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/Modules/BarkoderSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +91 -0
  42. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/Modules/BarkoderSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  43. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/Modules/BarkoderSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +91 -0
  44. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/Modules/BarkoderSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +4102 -258
  45. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/Modules/BarkoderSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +91 -0
  46. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/Modules/BarkoderSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  47. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/Modules/BarkoderSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +91 -0
  48. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/_CodeSignature/CodeResources +29 -29
  49. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/beep.wav +0 -0
  50. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/templates.json +437 -14
  51. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64/BarkoderSDK.framework/beep.mp3 +0 -0
  52. package/platforms/ios/BarkoderSDK.xcframework/ios-arm64_x86_64-simulator/BarkoderSDK.framework/beep.mp3 +0 -0
@@ -307,10 +307,132 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
307
307
  #endif
308
308
 
309
309
  #if defined(__OBJC__)
310
+ enum BarkoderARMode : NSInteger;
311
+ enum BarkoderAROverlayRefresh : NSInteger;
310
312
  @class UIColor;
313
+ enum BarkoderARLocationType : NSInteger;
314
+ enum BarkoderARHeaderShowMode : NSInteger;
315
+ @class NSString;
316
+
317
+ /// Contains all configurable options for AR-related barcode behavior.
318
+ SWIFT_CLASS("_TtC11BarkoderSDK16BarkoderARConfig")
319
+ @interface BarkoderARConfig : NSObject
320
+ /// Defines the overall AR behavior mode (e.g., interactive, non-interactive, disabled).
321
+ /// note:
322
+ /// Default value is <code>.off</code>
323
+ @property (nonatomic) enum BarkoderARMode arMode;
324
+ /// Time delay (in milliseconds) after which a detected barcode result is considered expired and removed from the view.
325
+ /// note:
326
+ /// Default value is 800 ms
327
+ @property (nonatomic) NSInteger resultDisappearanceDelayMs;
328
+ /// Speed factor (0.1 to 1.0) for smooth interpolation of overlay positions during camera movement.
329
+ /// Higher values mean faster transition.
330
+ /// note:
331
+ /// Default value is 0.3
332
+ @property (nonatomic) float locationTransitionSpeed;
333
+ /// Defines how often AR overlays are updated.
334
+ /// A smoother refresh enhances visual quality but consume more processing power.
335
+ /// note:
336
+ /// Default value is <code>.smooth</code>
337
+ @property (nonatomic) enum BarkoderAROverlayRefresh overlayRefresh;
338
+ /// Color used to draw overlays around selected barcodes.
339
+ @property (nonatomic, strong) UIColor * _Nonnull selectedLocationColor;
340
+ /// Color used to draw overlays around non-selected barcodes.
341
+ @property (nonatomic, strong) UIColor * _Nonnull nonSelectedLocationColor;
342
+ /// Line width for selected barcode overlays.
343
+ /// note:
344
+ /// Default value is 2.0
345
+ @property (nonatomic) float selectedLocationLineWidth;
346
+ /// Line width for non-selected barcode overlays.
347
+ /// note:
348
+ /// Default value is 2.0
349
+ @property (nonatomic) float nonSelectedLocationLineWidth;
350
+ /// Type of location overlay to be drawn (tight box, bounding box, or none).
351
+ /// note:
352
+ /// Default is <code>.tight</code>
353
+ @property (nonatomic) enum BarkoderARLocationType locationType;
354
+ /// Whether a double-tap gesture is enabled to freeze/unfreeze barcode scanning in AR mode.
355
+ /// note:
356
+ /// Default value is <code>true</code>
357
+ @property (nonatomic) BOOL doubleTapToFreezeEnabled;
358
+ /// Height of the header above the barcode.
359
+ /// note:
360
+ /// Default value is 19.0
361
+ @property (nonatomic) float headerHeight;
362
+ /// Defines when the header should be visible above detected barcodes.
363
+ /// note:
364
+ /// Default is <code>.onSelected</code>
365
+ @property (nonatomic) enum BarkoderARHeaderShowMode headerShowMode;
366
+ /// Maximum text height inside the header area.
367
+ /// note:
368
+ /// Default value is 20.0
369
+ @property (nonatomic) float headerMaxTextHeight;
370
+ /// Minimum text height inside the header area.
371
+ /// note:
372
+ /// Default value is 7.0
373
+ @property (nonatomic) float headerMinTextHeight;
374
+ /// Text color used for the header when the barcode is selected.
375
+ @property (nonatomic, strong) UIColor * _Nonnull headerTextColorSelected;
376
+ /// Text color used for the header when the barcode is not selected.
377
+ @property (nonatomic, strong) UIColor * _Nonnull headerTextColorNonSelected;
378
+ /// Horizontal margin inside the header, creating equal padding on both sides of the text.
379
+ /// note:
380
+ /// Default value is 5.0
381
+ @property (nonatomic) float headerHorizontalTextMargin;
382
+ /// Vertical margin inside the header, creating equal padding on both sides of the text.
383
+ /// note:
384
+ /// Default value is 3.0
385
+ @property (nonatomic) float headerVerticalTextMargin;
386
+ /// Format string for the header text above barcodes.
387
+ /// Supports dynamic placeholders like [barcode_type], [barcode_text], [gs1], etc.
388
+ /// note:
389
+ /// Default value is <code>"[barcode_text]"</code>
390
+ @property (nonatomic, copy) NSString * _Nonnull headerTextFormat;
391
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
392
+ @end
393
+
394
+ /// Defines when the header text (above a barcode) should be shown in AR mode.
395
+ typedef SWIFT_ENUM(NSInteger, BarkoderARHeaderShowMode, open) {
396
+ /// Never display the header text.
397
+ BarkoderARHeaderShowModeNever = 0,
398
+ /// Always display the header text above detected barcodes.
399
+ BarkoderARHeaderShowModeAlways = 1,
400
+ /// Display the header text only when the barcode is selected.
401
+ BarkoderARHeaderShowModeOnSelected = 2,
402
+ };
403
+
404
+ /// Specifies how the location overlays around barcodes should be drawn.
405
+ typedef SWIFT_ENUM(NSInteger, BarkoderARLocationType, open) {
406
+ /// No overlay will be drawn.
407
+ BarkoderARLocationTypeNone = 0,
408
+ /// A tight overlay will be drawn closely around the detected barcode.
409
+ BarkoderARLocationTypeTight = 1,
410
+ /// A full bounding rectangle will be drawn around the barcode.
411
+ BarkoderARLocationTypeBoundingBox = 2,
412
+ };
413
+
414
+ /// Defines the behavior mode for AR barcode selection and interaction.
415
+ typedef SWIFT_ENUM(NSInteger, BarkoderARMode, open) {
416
+ /// AR mode is disabled. No AR-specific features will be used.
417
+ BarkoderARModeOff = 0,
418
+ /// AR is enabled, but new barcodes are not selected automatically by default.
419
+ BarkoderARModeInteractiveDisabled = 1,
420
+ /// AR is enabled, and new barcodes are automatically selected by default.
421
+ BarkoderARModeInteractiveEnabled = 2,
422
+ /// AR is enabled with non-interactive behavior; selection happens automatically without any user actions.
423
+ BarkoderARModeNonInteractive = 3,
424
+ };
425
+
426
+ /// Defines the refresh rate for updating AR barcode overlays on the camera preview.
427
+ typedef SWIFT_ENUM(NSInteger, BarkoderAROverlayRefresh, open) {
428
+ /// Smooth refresh rate — provides optimal visual fidelity, suitable for high-performance devices.
429
+ BarkoderAROverlayRefreshSmooth = 0,
430
+ /// Normal refresh rate — offers a balance between performance and power usage, ideal for lower-end devices.
431
+ BarkoderAROverlayRefreshNormal = 1,
432
+ };
433
+
311
434
  @class Config;
312
435
  enum BarkoderResolution : NSInteger;
313
- @class NSString;
314
436
  @class LicenseCheckResult;
315
437
 
316
438
  SWIFT_CLASS("_TtC11BarkoderSDK14BarkoderConfig")
@@ -377,6 +499,8 @@ SWIFT_CLASS("_TtC11BarkoderSDK14BarkoderConfig")
377
499
  @property (nonatomic) BOOL locationInPreviewEnabled;
378
500
  /// Configures the Barkoder functionality based on the provided configuration
379
501
  @property (nonatomic, strong) Config * _Nullable decoderConfig;
502
+ /// Configuration options for AR barcode detection and overlay behavior.
503
+ @property (nonatomic, strong) BarkoderARConfig * _Nonnull arConfig;
380
504
  /// Retrieve/Sets the resolution for barcode scanning
381
505
  /// note:
382
506
  /// Default value is BarkoderView.BarkoderResolution.HD
@@ -387,6 +511,10 @@ SWIFT_CLASS("_TtC11BarkoderSDK14BarkoderConfig")
387
511
  @property (nonatomic) BOOL barcodeThumbnailOnResult;
388
512
  /// Retrieve/Sets the threshold between duplicate scans
389
513
  @property (nonatomic) NSInteger thresholdBetweenDuplicatesScans;
514
+ /// Controls whether duplicate barcode locations are shown on preview.
515
+ /// note:
516
+ /// Default value is true
517
+ @property (nonatomic) BOOL showDuplicatesLocations;
390
518
  /// Defines the Region of Interest (ROI) on the camera preview for barcode scanning, specifying an area where the application focuses on detecting barcodes
391
519
  - (BOOL)setRegionOfInterest:(CGRect)value error:(NSError * _Nullable * _Nullable)error;
392
520
  /// Retrieves the region of interest (ROI)
@@ -487,6 +615,8 @@ typedef SWIFT_ENUM(NSInteger, BarkoderConfigTemplate, open) {
487
615
  BarkoderConfigTemplateMrz = 10,
488
616
  BarkoderConfigTemplateGallery_scan = 11,
489
617
  BarkoderConfigTemplateComposite = 12,
618
+ BarkoderConfigTemplatePostal_codes = 13,
619
+ BarkoderConfigTemplateAr = 14,
490
620
  };
491
621
 
492
622
 
@@ -531,6 +661,12 @@ SWIFT_CLASS("_TtC11BarkoderSDK12BarkoderView")
531
661
  - (void)stopScanning;
532
662
  /// Temporarily suspends the barcode scanning process, pausing the camera feed without completely stopping the scanning session
533
663
  - (void)pauseScanning;
664
+ /// Freezes the AR scanning session by capturing a still image from the camera feed.
665
+ /// Use only when AR mode is enabled to temporarily freeze the view while keeping overlays visible.
666
+ - (void)freezeScanning;
667
+ /// Unfreezes the AR scanning session by removing the still image and reactivating the camera and overlays.
668
+ /// Use only when AR mode is enabled to restore the live AR view and continue scanning.
669
+ - (void)unfreezeScanning;
534
670
  /// Sets the zoom factor for the device’s camera, adjusting the level of zoom during barcode scanning
535
671
  - (void)setZoomFactor:(float)zoomFactor;
536
672
  /// Sets the camera to be used for scanning (back/front).
@@ -579,6 +715,12 @@ typedef SWIFT_ENUM(NSInteger, BarkoderCameraPosition, open) {
579
715
  BarkoderCameraPositionFRONT = 1,
580
716
  };
581
717
 
718
+ @class UIGestureRecognizer;
719
+ @class UITouch;
720
+
721
+ @interface BarkoderView (SWIFT_EXTENSION(BarkoderSDK)) <UIGestureRecognizerDelegate>
722
+ - (BOOL)gestureRecognizer:(UIGestureRecognizer * _Nonnull)gestureRecognizer shouldReceiveTouch:(UITouch * _Nonnull)touch SWIFT_WARN_UNUSED_RESULT;
723
+ @end
582
724
 
583
725
 
584
726
 
@@ -905,10 +1047,132 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
905
1047
  #endif
906
1048
 
907
1049
  #if defined(__OBJC__)
1050
+ enum BarkoderARMode : NSInteger;
1051
+ enum BarkoderAROverlayRefresh : NSInteger;
908
1052
  @class UIColor;
1053
+ enum BarkoderARLocationType : NSInteger;
1054
+ enum BarkoderARHeaderShowMode : NSInteger;
1055
+ @class NSString;
1056
+
1057
+ /// Contains all configurable options for AR-related barcode behavior.
1058
+ SWIFT_CLASS("_TtC11BarkoderSDK16BarkoderARConfig")
1059
+ @interface BarkoderARConfig : NSObject
1060
+ /// Defines the overall AR behavior mode (e.g., interactive, non-interactive, disabled).
1061
+ /// note:
1062
+ /// Default value is <code>.off</code>
1063
+ @property (nonatomic) enum BarkoderARMode arMode;
1064
+ /// Time delay (in milliseconds) after which a detected barcode result is considered expired and removed from the view.
1065
+ /// note:
1066
+ /// Default value is 800 ms
1067
+ @property (nonatomic) NSInteger resultDisappearanceDelayMs;
1068
+ /// Speed factor (0.1 to 1.0) for smooth interpolation of overlay positions during camera movement.
1069
+ /// Higher values mean faster transition.
1070
+ /// note:
1071
+ /// Default value is 0.3
1072
+ @property (nonatomic) float locationTransitionSpeed;
1073
+ /// Defines how often AR overlays are updated.
1074
+ /// A smoother refresh enhances visual quality but consume more processing power.
1075
+ /// note:
1076
+ /// Default value is <code>.smooth</code>
1077
+ @property (nonatomic) enum BarkoderAROverlayRefresh overlayRefresh;
1078
+ /// Color used to draw overlays around selected barcodes.
1079
+ @property (nonatomic, strong) UIColor * _Nonnull selectedLocationColor;
1080
+ /// Color used to draw overlays around non-selected barcodes.
1081
+ @property (nonatomic, strong) UIColor * _Nonnull nonSelectedLocationColor;
1082
+ /// Line width for selected barcode overlays.
1083
+ /// note:
1084
+ /// Default value is 2.0
1085
+ @property (nonatomic) float selectedLocationLineWidth;
1086
+ /// Line width for non-selected barcode overlays.
1087
+ /// note:
1088
+ /// Default value is 2.0
1089
+ @property (nonatomic) float nonSelectedLocationLineWidth;
1090
+ /// Type of location overlay to be drawn (tight box, bounding box, or none).
1091
+ /// note:
1092
+ /// Default is <code>.tight</code>
1093
+ @property (nonatomic) enum BarkoderARLocationType locationType;
1094
+ /// Whether a double-tap gesture is enabled to freeze/unfreeze barcode scanning in AR mode.
1095
+ /// note:
1096
+ /// Default value is <code>true</code>
1097
+ @property (nonatomic) BOOL doubleTapToFreezeEnabled;
1098
+ /// Height of the header above the barcode.
1099
+ /// note:
1100
+ /// Default value is 19.0
1101
+ @property (nonatomic) float headerHeight;
1102
+ /// Defines when the header should be visible above detected barcodes.
1103
+ /// note:
1104
+ /// Default is <code>.onSelected</code>
1105
+ @property (nonatomic) enum BarkoderARHeaderShowMode headerShowMode;
1106
+ /// Maximum text height inside the header area.
1107
+ /// note:
1108
+ /// Default value is 20.0
1109
+ @property (nonatomic) float headerMaxTextHeight;
1110
+ /// Minimum text height inside the header area.
1111
+ /// note:
1112
+ /// Default value is 7.0
1113
+ @property (nonatomic) float headerMinTextHeight;
1114
+ /// Text color used for the header when the barcode is selected.
1115
+ @property (nonatomic, strong) UIColor * _Nonnull headerTextColorSelected;
1116
+ /// Text color used for the header when the barcode is not selected.
1117
+ @property (nonatomic, strong) UIColor * _Nonnull headerTextColorNonSelected;
1118
+ /// Horizontal margin inside the header, creating equal padding on both sides of the text.
1119
+ /// note:
1120
+ /// Default value is 5.0
1121
+ @property (nonatomic) float headerHorizontalTextMargin;
1122
+ /// Vertical margin inside the header, creating equal padding on both sides of the text.
1123
+ /// note:
1124
+ /// Default value is 3.0
1125
+ @property (nonatomic) float headerVerticalTextMargin;
1126
+ /// Format string for the header text above barcodes.
1127
+ /// Supports dynamic placeholders like [barcode_type], [barcode_text], [gs1], etc.
1128
+ /// note:
1129
+ /// Default value is <code>"[barcode_text]"</code>
1130
+ @property (nonatomic, copy) NSString * _Nonnull headerTextFormat;
1131
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1132
+ @end
1133
+
1134
+ /// Defines when the header text (above a barcode) should be shown in AR mode.
1135
+ typedef SWIFT_ENUM(NSInteger, BarkoderARHeaderShowMode, open) {
1136
+ /// Never display the header text.
1137
+ BarkoderARHeaderShowModeNever = 0,
1138
+ /// Always display the header text above detected barcodes.
1139
+ BarkoderARHeaderShowModeAlways = 1,
1140
+ /// Display the header text only when the barcode is selected.
1141
+ BarkoderARHeaderShowModeOnSelected = 2,
1142
+ };
1143
+
1144
+ /// Specifies how the location overlays around barcodes should be drawn.
1145
+ typedef SWIFT_ENUM(NSInteger, BarkoderARLocationType, open) {
1146
+ /// No overlay will be drawn.
1147
+ BarkoderARLocationTypeNone = 0,
1148
+ /// A tight overlay will be drawn closely around the detected barcode.
1149
+ BarkoderARLocationTypeTight = 1,
1150
+ /// A full bounding rectangle will be drawn around the barcode.
1151
+ BarkoderARLocationTypeBoundingBox = 2,
1152
+ };
1153
+
1154
+ /// Defines the behavior mode for AR barcode selection and interaction.
1155
+ typedef SWIFT_ENUM(NSInteger, BarkoderARMode, open) {
1156
+ /// AR mode is disabled. No AR-specific features will be used.
1157
+ BarkoderARModeOff = 0,
1158
+ /// AR is enabled, but new barcodes are not selected automatically by default.
1159
+ BarkoderARModeInteractiveDisabled = 1,
1160
+ /// AR is enabled, and new barcodes are automatically selected by default.
1161
+ BarkoderARModeInteractiveEnabled = 2,
1162
+ /// AR is enabled with non-interactive behavior; selection happens automatically without any user actions.
1163
+ BarkoderARModeNonInteractive = 3,
1164
+ };
1165
+
1166
+ /// Defines the refresh rate for updating AR barcode overlays on the camera preview.
1167
+ typedef SWIFT_ENUM(NSInteger, BarkoderAROverlayRefresh, open) {
1168
+ /// Smooth refresh rate — provides optimal visual fidelity, suitable for high-performance devices.
1169
+ BarkoderAROverlayRefreshSmooth = 0,
1170
+ /// Normal refresh rate — offers a balance between performance and power usage, ideal for lower-end devices.
1171
+ BarkoderAROverlayRefreshNormal = 1,
1172
+ };
1173
+
909
1174
  @class Config;
910
1175
  enum BarkoderResolution : NSInteger;
911
- @class NSString;
912
1176
  @class LicenseCheckResult;
913
1177
 
914
1178
  SWIFT_CLASS("_TtC11BarkoderSDK14BarkoderConfig")
@@ -975,6 +1239,8 @@ SWIFT_CLASS("_TtC11BarkoderSDK14BarkoderConfig")
975
1239
  @property (nonatomic) BOOL locationInPreviewEnabled;
976
1240
  /// Configures the Barkoder functionality based on the provided configuration
977
1241
  @property (nonatomic, strong) Config * _Nullable decoderConfig;
1242
+ /// Configuration options for AR barcode detection and overlay behavior.
1243
+ @property (nonatomic, strong) BarkoderARConfig * _Nonnull arConfig;
978
1244
  /// Retrieve/Sets the resolution for barcode scanning
979
1245
  /// note:
980
1246
  /// Default value is BarkoderView.BarkoderResolution.HD
@@ -985,6 +1251,10 @@ SWIFT_CLASS("_TtC11BarkoderSDK14BarkoderConfig")
985
1251
  @property (nonatomic) BOOL barcodeThumbnailOnResult;
986
1252
  /// Retrieve/Sets the threshold between duplicate scans
987
1253
  @property (nonatomic) NSInteger thresholdBetweenDuplicatesScans;
1254
+ /// Controls whether duplicate barcode locations are shown on preview.
1255
+ /// note:
1256
+ /// Default value is true
1257
+ @property (nonatomic) BOOL showDuplicatesLocations;
988
1258
  /// Defines the Region of Interest (ROI) on the camera preview for barcode scanning, specifying an area where the application focuses on detecting barcodes
989
1259
  - (BOOL)setRegionOfInterest:(CGRect)value error:(NSError * _Nullable * _Nullable)error;
990
1260
  /// Retrieves the region of interest (ROI)
@@ -1085,6 +1355,8 @@ typedef SWIFT_ENUM(NSInteger, BarkoderConfigTemplate, open) {
1085
1355
  BarkoderConfigTemplateMrz = 10,
1086
1356
  BarkoderConfigTemplateGallery_scan = 11,
1087
1357
  BarkoderConfigTemplateComposite = 12,
1358
+ BarkoderConfigTemplatePostal_codes = 13,
1359
+ BarkoderConfigTemplateAr = 14,
1088
1360
  };
1089
1361
 
1090
1362
 
@@ -1129,6 +1401,12 @@ SWIFT_CLASS("_TtC11BarkoderSDK12BarkoderView")
1129
1401
  - (void)stopScanning;
1130
1402
  /// Temporarily suspends the barcode scanning process, pausing the camera feed without completely stopping the scanning session
1131
1403
  - (void)pauseScanning;
1404
+ /// Freezes the AR scanning session by capturing a still image from the camera feed.
1405
+ /// Use only when AR mode is enabled to temporarily freeze the view while keeping overlays visible.
1406
+ - (void)freezeScanning;
1407
+ /// Unfreezes the AR scanning session by removing the still image and reactivating the camera and overlays.
1408
+ /// Use only when AR mode is enabled to restore the live AR view and continue scanning.
1409
+ - (void)unfreezeScanning;
1132
1410
  /// Sets the zoom factor for the device’s camera, adjusting the level of zoom during barcode scanning
1133
1411
  - (void)setZoomFactor:(float)zoomFactor;
1134
1412
  /// Sets the camera to be used for scanning (back/front).
@@ -1177,6 +1455,12 @@ typedef SWIFT_ENUM(NSInteger, BarkoderCameraPosition, open) {
1177
1455
  BarkoderCameraPositionFRONT = 1,
1178
1456
  };
1179
1457
 
1458
+ @class UIGestureRecognizer;
1459
+ @class UITouch;
1460
+
1461
+ @interface BarkoderView (SWIFT_EXTENSION(BarkoderSDK)) <UIGestureRecognizerDelegate>
1462
+ - (BOOL)gestureRecognizer:(UIGestureRecognizer * _Nonnull)gestureRecognizer shouldReceiveTouch:(UITouch * _Nonnull)touch SWIFT_WARN_UNUSED_RESULT;
1463
+ @end
1180
1464
 
1181
1465
 
1182
1466