Changelog for the iOS Data Capture SDK
tip
For additional details about the API, please refer to our API reference documentation.
Version 7.1.3 (15 October 2025)
- 🎉 New:
- Barcode Scanner:
- Barcode configurations for 1D barcode types have a new field
minimumNumberOfRequiredFramesWithEqualRecognitionResult
that requires this number of frames on which the barcode has to be detected.
- Barcode configurations for 1D barcode types have a new field
- Check Scanner:
- We now extract the field after the account number on US checks. The name in the result is
checkNumber
. Note that this name is only based on common usage and not on any enforced standard. - Added
SBSDKCheckScannerViewControllerDelegate
functioncheckScannerViewControllerShouldCaptureHighResImage(_ controller: SBSDKCheckScannerViewController, forResult result: SBSDKCheckScanningResult) -> Bool
.
- We now extract the field after the account number on US checks. The name in the result is
- Barcode Scanner:
- 🚀 Improvements:
- Check Scanner:
- Updated US check field documentation.
- Check Scanner:
- 🐞 Bug fixes:
- General:
- Fixed a bug in the RTU-UI v2 user interface that prevented the proper display of the view finder in landscape mode.
- Document Scanner:
- Fixed a bug in RTU-UI v2 that did not always crop images from the photo library.
- Check Scanner:
- Fixed a bug in the implementation of the US check standard which lead to rejection of valid checks.
- Fixed a bug in Check Scanner RTU-UI v2 that delivered (invalid) results when
documentDetectionMode
was set todetectAndCropDocument
.
- General:
- ⚠️ Breaking changes:
- Barcode Scanner:
- The field
minConfirmationsStandaloneEAN
inSBSDKBarcodeAccumulationConfiguration
was moved and renamed to the fieldminimumNumberOfRequiredFramesWithEqualRecognitionResultExtensionless
inSBSDKBarcodeFormatUpcEanConfiguration
.
- The field
- Check Scanner:
- Changed
SBSDKCheckScannerViewControllerDelegate
functioncheckScannerViewController(: SBSDKCheckScannerViewController, didScanCheck: SBSDKCheckScanningResult)
tocheckScannerViewController(: SBSDKCheckScannerViewController ,didScanCheck: SBSDKCheckScanningResult, isHighRes: Bool)
.
- Changed
- Barcode Scanner:
Version 7.1.2 (1 September 2025):
- 🎉 New:
- General:
- Added property
isInterrupted
toSBSDKCameraSession
to indicate if the camera session was interrupted by the system.
- Added property
- Document Scanner:
- Added property
documentPreviewImageSizeLimit
inSBSDKDocumentPage
to limit the size of the document preview image.
- Added property
- General:
- 🚀 Improvements:
- Document Scanner:
- Rebalanced the internally used photo capture settings to better match the photo quality prioritization modes. The mode
speed
is now significantly faster, the modebalanced
is a bit faster, and the modequality
is a bit slower with the best possible image quality.
- Rebalanced the internally used photo capture settings to better match the photo quality prioritization modes. The mode
- Document Scanner:
- 🐞 Bug fixes:
- Document Scanner:
- Fixed an issue on simulators where the shutter button was missing in the RTU-UI Document Scanner.
- General:
- Fixed a bug with scanned documents cloning when using per-file encryption.
- Document Scanner:
Version 7.1.0 (24 July 2025):
- 🎉 New:
- Document Scanner:
- Added property
showReviewScreenOnStart
toSBSDKUI2DocumentScanningFlow
. If enabled, the scanner automatically navigates to the Review Screen when the flow starts. - Added property
openReviewAfterEachScan
toSBSDKUI2CameraScreenConfiguration
. If enabled, the Review Screen is opened after each addition of a new page. - Added property
showLastPageWhenAdding
toSBSDKUI2ReviewScreenConfiguration
. If enabled, the Review Screen will be opened showing the last page.
- Added property
- General:
- Added property
hardwareButtonsEnabled
toSBSDKUI2CameraConfiguration
. If enabled, it allows zooming using the camera control button (iPhone 16 series). - Added property
fpsLimit
toSBSDKUI2CameraConfiguration
andSBSDKUI2DocumentScannerCameraConfiguration
to limit the rate of detections per second in normal performance mode. - Added property
didEndZoomHandler
toSBSDKZoomingImageScrollView
. - Added analytics support with new classes:
SBSDKAnalyticsManager
,SBSDKAnalyticsEvent
,SBSDKAnalyticsFeature
,SBSDKAnalyticsCategory
,SBSDKAnalyticsEventName
,SBSDKAnalyticsEventFactory
, andSBSDKAnalyticsSubscriber
for tracking and managing SDK usage analytics.
- Added property
- Document Scanner:
- 🚀 Improvements:
- Document Scanner:
- Improved landscape-orientation layout of RTU-UI v2 screens.
- Increased performance for Document Scanner algorithms.
- The zoomed page view in the Document Scanner RTU-UI v2 Review Screen now closes when you finish zooming while being below the minimum zoom value.
- Document Quality Analyzer:
- Speed improvements. Note: document quality scores may slightly change for the same input images when compared to the previous version of the DoQA.
- Document Scanner:
- 🐞 Bug fixes:
- Document Scanner:
- Fixed a bug in RTU-UI v2 Document Scanner where the document could not be captured in auto snap mode when
enabledInAutoSnappingMode
was set to false inSBSDKUI2ShutterButton
. - Fixed a bug in RTU-UI v2 Document Scanner Swift UI component
SBSDKUI2DocumentScannerView
where the completion handler was not called when the view was a root view. Additionally, the view is now prevented from being automatically dismissed upon completion. - Fixed a bug in RTU-UI v2 Document Scanner where auto rotation was applied if no document was detected.
- Fixed a bug in RTU-UI v2 Document Scanner where the document could not be captured in auto snap mode when
- Image Editing:
- Fixed a rare crash when the screen orientation changed.
- PDF Image Extractor:
- Fixed wrong orientation of extracted images when the PDF page had a transform applied.
- Document Quality Analyzer:
- Fixed quality estimation for rotated images.
- Storage Crypting:
- Fixed data corruption issues in AES encryption/decryption that could result in corrupted or partially corrupted files.
- Document Scanner:
- ⚠️ Breaking changes:
- Document Scanner:
- Changed the
init
toconvenience init
inSBSDKUI2DocumentScannerController
. - The
SBSDKUI2DocumentScannerController
does not dismiss itself automatically anymore when usingconvenience init(configuration:completion:)
or the staticcreate(configuration:completion:)
method.
- Changed the
- PDF Image Extractor:
- Removed parameter
scaling
from all methods and replaced it by member variablescaleFactor
.
- Removed parameter
- General:
- Replaced all occurrences of the deprecated
AVCaptureVideoOrientation
enum by an equal enum namedSBSDKVideoOrientation
.
- Replaced all occurrences of the deprecated
- Document Scanner:
- 🚙 Under the hood:
- Added flatbuffers 2.0.6.
Version 7.0.3 (June 2025):
- 🐞 Bug fixes:
- Document Scanner:
- Fixed a memory leak when dealing with grayscale images.
- Document Scanner:
Version 7.0.2 (28 May 2025):
- 🎉 New:
- Added property
hardwareButtonsEnabled
toSBSDKBaseScannerViewController
which can be set tofalse
to restore the original volume button behavior. - Added properties
cameraSessionKeepAliveTimeout
andanimateCameraOverlay
toSBSDKBaseScannerGeneralConfiguration
. - Added properties
sessionDidChangeHandler
andisSessionRunning
toSBSDKBaseScannerViewController
. - Added functions
pause
andresume
toSBSDKBaseScannerViewController
.
- Added property
- 🚀 Improvements:
- The camera permission screen will now appear if camera access is restricted in all RTU-UI screens.
- Improved the accessibility handling in RTU-UI v2 Document Scanner. Accessibility for the document preview button is now activated only when scanned pages are available.
- 🐞 Bug fixes:
- Fixed a race condition in
SBSDKScannedPage
. - Fixed an issue where quickly stopping and starting the camera session of any scanner screen could lead to a crash or unpredictable behavior.
- Fixed a bug in all cropping screens where the magnetic lines were missing.
- Fixed an issue in RTU-UI v2 where the introduction screen appeared automatically even when camera access was denied.
- Fixed a crash in
SBSDKBaseScannerViewController
caused by camera access being restricted by system-wide settings (e.g. Parental Controls / Screen Time).
- Fixed a race condition in
- ⚠️ Breaking changes:
defaultBackFacingCamera
,defaultFrontFacingCamera
andwidestAvailableBackFacingCamera
now returns a simulated camera instead ofnil
if the physical camera is not available.- Removed property
stopsCameraSessionWhenDisappeared
fromSBSDKBaseScannerGeneralConfiguration
. To emulate this behavior, setcameraSessionKeepAliveTimeout
to a high value, e.g.TimeInterval.greatestFiniteMagnitude
.
- 🚙 Under the hood:
- Upgraded xtensor to 0.26.
- Upgraded xtl to 0.8.
- Upgraded xsmid to 13.2.
- Upgraded CLI11 to 2.5.
- Upgraded spdlog to 1.15.2.
- Upgraded Boost to 1.88.
Version 7.0.1 (May 2025):
- 🎉 New:
- Added property
hardwareButtonsEnabled
toSBSDKBaseScannerViewController
which can be set tofalse
to restore the original volume button behavior.
- 🐞 Bug fixes:
- Fixed a bug in all cropping screens where the magnetic lines were missing.
- Fixed an issue in RTU-UI v2 where the introduction screen appeared automatically even when camera access was denied.
Version 7.0.0 (22 April 2025):
- 🎉 New:
- Document Scanner:
DocumentDetector
was renamed toDocumentScanner
and has a more advanced configuration and scanning API. SeeSBSDKDocumentScanner
.- RTU-UI v2: Added the auto-rotate document option. The document will now be automatically rotated based on the text orientation detected by the Document Quality Analyzer. See
SBSDKUI2CameraScreenConfiguration.autoRotateImages
. - Introduced advanced generation settings for PDFs and TIFFs (via
SBSDKPDFConfiguration
andSBSDKTIFFGeneratorParameters
). - Added a new document detection status
okButTooDark
. - Ability to set the bad aspect ratio hint of the Document Scanner. See
SBSDKDocumentScannerStatusTextConfiguration.textHintBadAspectRatio
. - Image Processor can be initialized with
SBSDKImageRef
,UIImage
, orimageURL
. New methods to apply filters, crop, rotate, and resize. SeeSBSDKImageProcessor
. - Advanced configuration of the PDF Generator. See
SBSDKPDFConfiguration
. Introduced new OCR configuration:SBSDKPDFGenerator.ocrConfiguration
.
- Document Quality Analyzer:
- New and advanced API. See
SBSDKDocumentQualityAnalyzer
,SBSDKDocumentQualityAnalyzerConfiguration
, andSBSDKDocumentQualityAnalyzerResult
. - Can now also return the orientation of the document in steps of 90 degrees. Enabled by setting
SBSDKDocumentQualityAnalyzerConfiguration.detectOrientation
to true. - Optionally,
QualityHeatmap
is returned as a part of theSBSDKDocumentQualityAnalyzerResult
. - Added support for an advanced on-image scanning configuration
SBSDKDocumentQualityAnalyzer.analyze(image:)
call.
- New and advanced API. See
- Credit Card Scanner:
- Introduced a new beta feature: Credit Card Scanner, capable of detecting credit cards and extracting data from them. See
SBSDKCreditCardScanner
. - New RTU UI v2 component for Credit Card Scanner.
- Introduced a new beta feature: Credit Card Scanner, capable of detecting credit cards and extracting data from them. See
- MRZ Scanner:
- Advanced configuration of MRZ Scanner. See
SBSDKMRZScannerConfiguration
. - New RTU UI v2 is now available for MRZ Scanner. See
SBSDKUI2MRZScannerViewController
. - Added support for non-ICAO conformant machine readable zones on US border crossing cards.
- Advanced configuration of MRZ Scanner. See
- Text Pattern Scanner:
- Feature was renamed from Generic Text Recognizer to Text Pattern Scanner and has more advanced configuration and scanning API. See
SBSDKTextPatternScanner
. - New RTU UI v2 is now available for Text Pattern Scanner. See
SBSDKUI2TextPatternScannerViewController
.
- Feature was renamed from Generic Text Recognizer to Text Pattern Scanner and has more advanced configuration and scanning API. See
- VIN Scanner:
- Added a new property
extractVINFromBarcode
inSBSDKUIVINScannerBehaviorConfiguration
that allows VIN data extraction from barcodes (for RTU UI v1).
- Added a new property
- Document Data Extractor:
- Feature was renamed from Generic Document Recognizer to Document Data Extractor and has more advanced configuration and scanning API. See
SBSDKDocumentDataExtractor
. - Now supports fallback to extraction of only the MRZ on unsupported documents by using the config
SBSDKMRZDocumentType.unknown
. - Added support for German driver qualification card.
- Document field validation now supports two additional statuses:
inferred
andignored
. SeeSBSDKGenericDocumentFieldValidationStatus
. - Generic document fields now support
parsedData
attributes for standardized data (ISO 8601 dates, ISO 3166-1 countries, "Male"/"Female" gender). SeeSBSDKGenericDocumentFieldParsedData
. - Added support for an advanced on-image scanning configuration for:
SBSDKDocumentDataExtractor
,SBSDKEuropeanHealthInsuranceCardRecognizer
,SBSDKMedicalCertificateScanner
,SBSDKMRZScanner
, andSBSDKCheckScanner
.
- Feature was renamed from Generic Document Recognizer to Document Data Extractor and has more advanced configuration and scanning API. See
- Health Insurance Card (EHIC) Scanner:
- Advanced configuration of Health Insurance Card Recognizer. See
SBSDKEuropeanHealthInsuranceCardRecognizerConfiguration
.
- Advanced configuration of Health Insurance Card Recognizer. See
- Check Scanner:
- Feature was renamed to Check Scanner and has more advanced configuration and scanning API. See
SBSDKCheckScanner
. - Ability to configure Check Scanner Classic UI using
SBSDKCheckScannerViewController.setConfiguration(_:)
.
- Feature was renamed to Check Scanner and has more advanced configuration and scanning API. See
- Medical Certificate Scanner:
- Feature was renamed to Medical Certificate Scanner and has more advanced configuration and scanning API. See
SBSDKMedicalCertificateScanner
. - Introduced a new method to scan a medical certificate from frames. See
SBSDKMedicalCertificateScanner.scan(from:parameters:)
.
- Feature was renamed to Medical Certificate Scanner and has more advanced configuration and scanning API. See
- Barcode Scanner:
- Added support for barcode types Pharma Code, Pharma Code Two Track and PZN (Pharmazentralnummer).
- Added support for the HIBC barcode document format.
- Added support for an advanced on-image scanning configuration for
SBSDKBarcodeScanner.scan(from:useLiveMode:)
call. - Added ability to configure common barcode properties via
SBSDKBarcodeFormatCommonConfiguration
. - Added
minimumSizeScore
to barcode configurations;SBSDKBarcodeItem
has newsizeScore
. Barcodes withsizeScore < minimumSizeScore
are ignored. - Introduced
strictMode
for certain barcode configurators (QR Code
,Micro QR Code
,rMQR Code
,PDF417
,MicroPDF417
andgs1Composite
). - Added the ability to return the barcode image in the resulting object via
SBSDKUI2BarcodeScannerConfiguration.returnBarcodeImage
. - Added new engine modes
nextGenLowPower
,nextGenFarDistance
andnextGenLowPowerFarDistance
. SeeSBSDKBarcodeScannerEngineMode
. - Barcode scanning results have been enhanced with more detailed information. See
SBSDKBarcodeItem
. - Added new predefined subsets of barcode formats (1D, 2D, Postal, Pharma, etc.). Old sets removed. See
SBSDKBarcodeFormat
,SBSDKBarcodeFormats
. - Ability to initialize Barcode Scanner using
SBSDKBarcodeScanner.init(formats:, extractedDocumentFormats:)
. - Introduced new property
optimizeOverlays
toSBSDKBarcodeScanner
. - Ability to configure Barcode Scanner Classic UI and Scan-and-Count Classic UI using
setConfiguration(_:)
. - Ability to get
extractedDocumentFormats
fromSBSDKBarcodeDocumentParser
. - Ability to know when a barcode was last detected using
SBSDKBarcodeScannerAccumulatingResult.dateOfLastDetection
.
- Added property
hardwareButtonsEnabled
toSBSDKBaseScannerViewController
(all Classic UI) to toggle volume button behavior. - Cropped images returned as part of the scanner results are now represented as image references (
SBSDKImageRef
), convertible toUIImage
. - Ability to additionally process frames before main scanner via
SBSDKBaseScannerViewController.additionalFrameProcessor
. - Introduced
SBSDKUI2PermanentViewFinderConfiguration
for always visible view finder. - Document Data Extractor, Medical Certificate Scanner and Check Scanner now return document detection results (
SBSDKDocumentDetectionResult
). - Added new enum case
photo
toSBSDKVideoFrameResolution
.
- Document Scanner:
- 🚀 Improvements:
- Document Scanner:
- Added
okButOrientationMismatch
status, returned when screen and document orientations don't match. Can be disabled by settingignoreOrientationMismatch
to True. SeeSBSDKDocumentDetectionStatus
andSBSDKDocumentScannerParameters
. - Improved the Document Scanner RTU-UI v2 acknowledgment's bad image hint by adding the ability to present up to 5 lines.
- Improved performance when editing
SBSDKScannedPage
and in the RTU-UI v2 Document Scanner Review Screen. - Improved captured image quality when using the Document Scanner Classic UI or RTU-UI (v1 and v2).
- Improved the user guidance in the Document Scanner RTU-UI v2 to support longer text entries.
- Added
- Document Quality Analyzer (DQA):
- Guarantee the same document quality score for 90 degrees rotated images.
- Image Processing:
- New Image Processor preset
BinarizationFilterPreset.PRESET_5
for documents with barcodes.
- New Image Processor preset
- Text Pattern Scanner:
- Improved performance with the same quality.
- VIN Scanner:
- Validation of VINs implements the full ISO 3779 standard, reducing false positives.
- Document Data Extractor (DDE):
- Digits can no longer be recognized as part of given names or surnames.
- Higher accuracy for document classification.
- Barcode Scanner:
- By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set
stripCheckDigits = true
. - Significant speed-up in live mode on very large input resolutions.
- Improved barcode detection for various barcode types.
- More robust QR code recognition (timing patterns, alignment, artistic QR codes).
- QR codes with non-square finder patterns and embedded in adversarial backgrounds can now be recognized.
- Improved quiet zone checks for
ITF
,Code 11
,MSI Plessey
,IATA 2 of 5
,Industrial 2 of 5
, andCode 25
. - Improved the false positive rate for
ITF
. - Added the option to ignore barcodes that do not decode to one of the accepted document formats for Barcode Scanner RTU-UI v2 (
SBSDKBarcodeScannerConfiguration.onlyAcceptDocuments
). - Improved performance when scanning four-state postal barcodes (i.e. Australia Post, Japanese Post, RM4SCC, Royal TNT Post and USPS Intelligent Mail).
- Improved the recognition of
PDF417
barcodes. - Improved the barcode scanner to better recognize the
QR
codes if the top left finder pattern is corrupted (up to QR code version size 20).
- By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set
- Document Scanner:
- 🐞 Bug Fixes:
- Document Scanner and Data Capture modules:
- Fixed processing of still images of an indexed color space model in all scanners, Document Quality Analyzer, and PDF and TIFF generators.
- Fixed a UI bug in the Document Scanner Classic UI where
accepted
document'sfillColor
was not being removed when theautoSnapProgress
fillColor
was being shown. - Fixed a UI bug in the Document Scanner RTU-UI v2 where the bar buttons were not properly grayed out when in disabled state.
- Fixed a bug in the TIFF generator that prevented the creation of JPEG-encoded colored TIFF files.
- Barcode Scanner:
- Fixed returned results for all types of
SBSDKUpcEanExtensionBehavior
. - Fixed the checksum of the
Code 39
barcode format. - Fixed a bug in the Barcode Scanner RTU-UI v2 where the flip camera button was not resetting the widest camera available if chosen.
- Fixed a bug in
SBSDKBarcodeScannerViewController
that could lead to a crash when embedded within aUIViewControllerRepresentable
. - Fixed a bug in the AR Barcode Scan and Count where the scanner would be stuck if there was no barcode detected.
- Fixed a UI bug in the Barcode Scanner RTU-UI v2 where the sheet button overlapped with the action bar.
- Fixed returned results for all types of
- Document Scanner and Data Capture modules:
- ⚠️ Breaking changes:
- General API structure & naming:
- Extensive renaming of classes, properties, methods, and enums (e.g.,
DocumentDetector
toSBSDKDocumentScanner
,GenericDocumentRecognizer
toSBSDKDocumentDataExtractor
,CheckRecognizer
toSBSDKCheckScanner
,SBSDKHealthInsuranceCardRecognizer
related classes,SBSDKMachineReadableZoneRecognizer
toSBSDKMRZScanner
,SBSDKGenericTextLineRecognizer
toSBSDKTextPatternScanner
,SBSDKMedicalCertificateRecognizer
toSBSDKMedicalCertificateScanner
,SBSDKPDFRenderer
toSBSDKPDFGenerator
,SBSDKTIFFImageWriter
toSBSDKTIFFGenerator
). - Many
recognize...
methods renamed toscan...
orextract...
. - Many initializers changed to accept new configuration objects.
- Extensive renaming of classes, properties, methods, and enums (e.g.,
- Feature removal:
- Removed the License Plate Scanner and all of its related files.
- Result type changes:
- Result objects updated for many scanners (e.g.,
SBSDKDocumentDetectionResult
,SBSDKBarcodeItem
,SBSDKMRZScannerResult
,SBSDKCheckScanningResult
,SBSDKMedicalCertificateScanningResult
). SBSDKMachineReadableZoneRecognizerResult
replaced bySBSDKMRZScannerResult
.SBSDKMachineReadableZoneRecognizerResultDocumentType
bySBSDKMRZDocumentType
.SBSDKCheckRecognizerResult
bySBSDKCheckScanningResult
.SBSDKMedicalCertificateRecognizerResult
bySBSDKMedicalCertificateScanningResult
.SBSDKHealthInsuranceCardRecognitionResult
toSBSDKEuropeanHealthInsuranceCardRecognitionResult
.
- Result objects updated for many scanners (e.g.,
- Configuration object changes:
- Removed old configuration APIs for most scanners; use new
setConfiguration(_:)
methods with dedicated configuration objects. SBSDKPDFRendererOptions
replaced bySBSDKPDFConfiguration
.SBSDKUI2BarcodeRecognizerConfiguration
toSBSDKBarcodeScannerConfiguration
.SBSDKUI2AspectRatio
replaced bySBSDKAspectRatio
.
- Removed old configuration APIs for most scanners; use new
- Document Scanner:
- Properties related to detection parameters (angle, size, brightness, and aspect ratios) moved from
SBSDKUI2DocumentScannerCameraConfiguration
toscannerParameters
inSBSDKUI2CameraScreenConfiguration
. ignoreBadAspectRatio
renamed toignoreOrientationMismatch
in UI configurations.SBSDKDocumentDetectorResult
replaced bySBSDKDocumentDetectionResult
.SBSDKPolygonEdge
bySBSDKLineSegment
.- Renamed class
SBSDKDocumentDetectorMode
toSBSDKDocumentScannerEngineMode
.
- Properties related to detection parameters (angle, size, brightness, and aspect ratios) moved from
- Barcode Scanner:
- Initializers for
SBSDKBarcodeScannerViewController
andSBSDKBarcodeScanAndCountViewController
changed to accept configuration objects. SBSDKUI2BarcodeScannerResult
renamed toSBSDKUI2BarcodeScannerUIResult
.- Removed properties like
acceptedBarcodeTypes
,engineMode
, etc., fromSBSDKBarcodeScannerViewController
; configure viaSBSDKBarcodeScannerConfiguration
. SBSDKBarcodeScannerAccumulatingResult.code
removed, useitem
.SBSDKBarcodeType
renamed toSBSDKBarcodeFormat
.SBSDKBarcodeDocumentRootType
toSBSDKBarcodeDocumentFormat
. Display names of various barcode formats changed.- Replaced
SBSDKUI2BarcodesExtensionFilter
enum withSBSDKUpcEanExtensionBehavior
. PropertybarcodesExtensionFilter
inSBSDKUI2BarcodeScannerConfiguration
renamed toextensions
. - Methods of
SBSDKBarcodeTrackingOverlayControllerDelegate
andSBSDKTrackedBarcodeInfoViewable
now useSBSDKBarcodeItem
. - Removed
SBSDKBarcodeImageGenerationType
and related properties.
- Initializers for
- Other class & enum renames:
SBSDKCheckDocumentRootType
toSBSDKCheckDocumentModelRootType
.SBSDKCheckRecognitionResultStatus
bySBSDKCheckMagneticInkStripScanningStatus
.SBSDKGenericDocumentRootType
toSBSDKDocumentsModelRootType
and related constants/model classes.SBSDKHealthInsuranceCardFieldType
toSBSDKEuropeanHealthInsuranceCardRecognitionResultFieldType
and related field/status/type classes.SBSDKMedicalCertificateRecognizerCheckboxType
toSBSDKMedicalCertificateCheckBoxType
and related result/enum renames.- Renamed parameter
completionHandler
tocompletion
increate
andpresent
functions ofSBSDKUI2DocumentScannerController
. - Renamed parameter
handler
tocompletion
increate
andpresent
functions ofSBSDKUI2BarcodeScannerViewController
. - Renamed async function
presentAsync(on:configuration)
topresent(on:configuration)
inSBSDKUI2BarcodeScannerViewController
. - Completion result type for
SBSDKUI2CroppingViewController
is now optional (SBSDKUI2CroppingResult?
).
- Other removed classes:
- Removed
SBSDKCaptureInfo
,SBSDKDocumentDetectionMetrics
,SBSDKGenericDocumentRecognizerAccumulationConfiguration
,SBSDKMachineReadableZoneRecognizerFieldName
,SBSDKImageProcessorError
, etc.
- Removed
- General API structure & naming:
- ⚠️ Deprecations:
- MRZ Scanner RTU-UI v1 is deprecated. Use new
SBSDKUI2MRZScannerViewController
. - Text Pattern Scanner RTU-UI v1 is deprecated. Use new
SBSDKUI2TextPatternScannerViewController
.
- MRZ Scanner RTU-UI v1 is deprecated. Use new
- 🚙 Under the hood:
- The regex filters are applied for substrings instead of the entire output string.
- Upgraded nlohmann::json to 3.11.3.
- Upgraded xsimd to 13.0.
- Upgraded xtl to 0.7.7.
- Upgraded xtensor to 0.25.
- Upgraded yaml-cpp to 0.8.
Version 6.2.0 (24 January 2025):
- 🎉 New:
- Added support for encryption/decryption of images and PDFs using the AES-GCM algorithm with random 96-bit initialization vectors and variable length authentication tags, as required for ePA-FdV-certification by gematik and BSI. See
SBSDKAESGCMEncrypter
class. - Added support for encryption key derivation using PBKDF2, HKDF and Random key derivation on both the standard AES encrypter (
SBSDKAESEncrypter
) and the new AES-GCM encrypter (SBSDKAESGCMEncrypter
) with variable key lengths (128 and 256 bits). See the new protocolSBSDKStorageCryptingKeyGenerator
and the new classesSBSDKRandomKeyGenerator
,SBSDKPBKDF2KeyGenerator
andSBSDKHKDFKeyGenerator
. - Added protocol-based support for encryption key management. See the new protocol
SBSDKStorageCryptingKeyProvider
and the new classSBSDKVolatileKeyProvider
. - Added new class
SBSDKVolatileKeyProvider
that stores, restores and deletes keys in memory per context. For a persistent storage, e.g. in the keychain or in a file, you can implement your own key provider by conforming to theSBSDKStorageCryptingKeyProvider
protocol. - Added support for encryption/decryption on a encryption-key-per-context base. See
SBSDKStorageCryptingKeyProvider
andSBSDKStorageCrypting
. - When storing files in image storages, with the PDF renderer, or the TIFF writer, a context in the form of the file URL is being passed to the encrypter APIs to allow for context-based key derivation.
- Added new property
autoCropOnManualSnap
toSBSDKDocumentScannerViewController
andSBSDKUI2DocumentScannerCameraConfiguration
to enable/disable the automatic cropping of the document after a manual snap. - Added new property
croppingPolygonMagneticLineColor
toSBSDKUI2CroppingScreenConfiguration
to set the color of the magnetic lines in the cropping screen. - Added compliance to NSCopying protocol to
SBSDKScannedDocument
. - Added new delegate method
barcodeTrackingOverlay(_ controller:overrideTextFor:proposedString:)
toSBSDKBarcodeTrackingOverlayControllerDelegate
. - Added new property
topBarTitle
toSBSDKUI2AcknowledgementScreenConfiguration
.
- Added support for encryption/decryption of images and PDFs using the AES-GCM algorithm with random 96-bit initialization vectors and variable length authentication tags, as required for ePA-FdV-certification by gematik and BSI. See
- 🚀 Improvements:
- The Generic Document Recognizer no longer needs the additional data bundle with OCR languages.
- The Generic Document Recognizer now returns ID number (document number field) and sequence number (personal number field) separately for pre-2022 Costa Rican passports.
- 🐞 Bug fixes:
- Fixed layout when hiding the text of the close button on zooming in RTU-UI v2 Document Scanner.
- Fixed a layout bug in the RTU-UI v2 cropping screen's top bar.
- Fixed a bug in the barcode RTU-UI v2 action bar items where the
accessibilityDescription
was not being applied correctly.
- 🚙 Under the hood:
- Removed third-party-library symbols from the binary to avoid linking conflicts.
Version 6.1.1 (28 November 2024):
- 🐞 Bug fixes:
- Fixed a bug that did not properly store an
SBSDKScannedDocument
without pages. - Fixed a bug that caused
SBSDKTIFFImageWriter
to crash when the input images are encrypted.
- Fixed a bug that did not properly store an
- ⚠️ Breaking Changes:
- Changed signature of
SBSDKScannedPage
methodapply(rotation: SBSDKImageRotation?, polygon: SBSDKPolygon?, filters: [SBSDKParametricFilter]?)
toapply(rotation: SBSDKImageRotation, polygon: SBSDKPolygon?, filters: [SBSDKParametricFilter]?)
to properly expose it to Objective-C.
- Changed signature of
Version 6.1.0 (7 November 2024):
- 🎉 New:
- Added a new property
hardwareButtonsEnabled
that enables snapping from the hardware volume buttons and the new hardware camera control button toSBSDKDocumentScannerViewController
andSBSDKBarcodeScanAndCountViewController
, available on iOS 17.2 and later. - Added new zoom control slider controlled by the new camera control button on all view controllers, available on all the new iPhone 16 models.
- Added a new property
captureWithHardwareButtonsEnabled
toSBSDKUI2DocumentScannerCameraConfiguration
. - Added a new mode
SBSDKUI2PageSnapFeedbackNone
to disable the animation when a page is captured. - Added a new property
allowEmptySubmission
toSBSDKUI2MultipleScanningMode
.
- Added a new property
- 🚀 Improvements:
- Document detector:
- Improved detection speed and robustness against orientation changes.
- Improved robustness against picking up random contours.
- Improved robustness against documents with colored corners, booklets, handheld documents and cards, documents near edges of tables and overlapping documents.
- Document detector:
- 🐞 Bug fixes:
- Fixed KANJI mode for QR codes.
- Fixed a bug with wrong raw bytes returned for some 2D barcode types.
- Fixed potential broken generic document field validation status that could lead to a crash or undefined behavior.
- Fixed a bug with the page counters visibility in the RTU-UI v2 Document Scanner.
- Fixed a bug in RTU-UI v2 Document Scanner where the document could not be captured in auto snap mode when
enabledInAutoSnappingMode
is set to false inSBSDKUI2ShutterButton
. - Fixed a memory leak in
SBSDKUI2DocumentScannerViewController
when the document scanner is dismissed.
- ⚠️ Breaking Changes:
- Replaced the buggy initializer
init?(json: Data)
inSBSDKUI2BarcodeScannerConfiguration
by the static functionSBSDKUI2BarcodeScannerConfiguration.fromJson(json: String)?
. - Replaced the buggy initializer
init?(json: Data)
inSBSDKUI2DocumentScanningFlow
by the static functionSBSDKUI2DocumentScanningFlow.fromJson(json: String)?
.
- Replaced the buggy initializer
Version 6.0.0 (15 October 2024):
- 🎉 New:
- Added new RTU-UI V2 component, see
SBSDKUI2DocumentScannerController
. - Added document capture animation in
SBSDKDocumentScannerViewController
. - Added new optional delegate function
documentScannerViewControllerCaptureAnimationConfiguration(_ controller: SBSDKDocumentScannerViewController) -> SBSDKDocumentAnimationConfiguration
inSBSDKDocumentScannerViewController
. - Added class
SBSDKDocumentAnimationConfiguration
to configure document capture animation. - Added classes
SBSDKScannedDocument
andSBSDKScannedPage
. - Added support for the new
SBSDKScannedDocument
class toSBSDKPDFRenderer
,SBSDKUIPDFRenderer
,SBSDKTIFFImageWriter
andSBSDKOpticalCharacterRecognizer
. - Added
init(uiColor: UIColor)
inSBSDKUI2Color
. - Added new property
isAnimatingCapture
toSBSDKDocumentScannerViewController
. - Added new class
SBSDKDocumentScannerPolygonConfiguration
. - Added new properties
polygonConfigurationAccepted
,polygonConfigurationRejected
andautoSnapProgressPolygonConfiguration
toSBSDKDocumentScannerViewController
. - Added new optional delegate method
documentScannerViewController(_ controller: SBSDKDocumentScannerViewController, polygonConfigurationFor: SBSDKDocumentDetectionStatus) -> SBSDKDocumentScannerPolygonConfiguration
to protocolSBSDKDocumentScannerViewControllerDelegate
. - Added new optional delegate method
imageEditingViewController(_ editingViewController: didDetectPolygon:)
toSBSDKImageEditingViewControllerDelegate
. - Added new property
addAdditionalQuietZone
toSBSDKBarcodeAdditionalParameters
. - Added new property
postalTypes
toSBSDKBarcodeType
.
- Added new RTU-UI V2 component, see
- 🚀 Improvements:
- Improved sharpness of captured images in
SBSDKDocumentScannerViewController
by tweaking various timing related default values, such asinitialScanDelay
andautoSnappingDelay
. - The AR-overlay in
SBSDKUI2FindAndPickScanningMode
is now visible by default. - For CODE_128 and ITF, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly.
- Improved sharpness of captured images in
- 🐞 Bug fixes:
- Fixed a bug in RTU-UI v2 Barcode Scanner where extended barcodes are displayed along with their non-extended versions.
- Fixed a UI issue in the RTU-UI v2 Barcode Scanner where a title that was too long would cut off the cancel button.
- Fixed a UI issue in the RTU-UI v2 Find & Pick scanner in
button
sheet mode where the counter badge was not visible. - Fixed a UI issue in
SBSDKFinderView
where the background color overlapped with the line color. - Fixed a crash when zooming with invalid
minZoom
andmaxZoom
values. - Fixed a bug that did not mirror the front camera as expected.
- Fixed a bug in
SBSDKUI2SingleScanDialogModelProvider
where the default displayed texts were not correct.
- ⚠️ Breaking Changes:
- Deprecated
SBSDKUIDocumentScannerViewController
,SBSDKUIFinderDocumentScannerViewController
,SBSDKUICroppingViewController
and their related classes. - Renamed the values of the enum
SBSDKDocumentDetectionStatus
. - Removed optional delegate method
documentScannerViewController(_ controller:, polygonLineColorFor:) -> UIColor
from protocolSBSDKDocumentScannerViewControllerDelegate
. - Removed optional delegate method
documentScannerViewController(_ controller:, polygonFillColorFor:) -> UIColor
from protocolSBSDKDocumentScannerViewControllerDelegate
. - Removed properties
polygonLineWidth
,polygonLineColorAccepted
,polygonLineColorRejected
,polygonFillColorAccepted
,polygonFillColorRejected
,polygonAutoSnapProgressEnabled
,polygonAutoSnapProgressColor
,polygonAutoSnapProgressLineWidth
andpolygonCornerRadius
fromSBSDKDocumentScannerViewController
. - Renamed property
residencePermitFronBack
toresidencePermitFrontBack
inSBSDKUIDocumentType
. - Removed parameter
encrypter
from allSBSDKPDFRenderer
methods and added it to the initializer of the class.
- Deprecated
Version 5.2.2 (2 August 2024):
- 🐞 Bug fixes:
- Fixed the false positive document detection (introduced in v5.2.0).
Version 5.2.1 (24 July 2024):
- 🎉 New:
- Added support for United Arab Emirates (UAE) and Canadian (CAN) checks.
- Added new properties
resultAccumulatorConfiguration
toSBSDKGenericDocumentRecognizer
andSBSDKGenericDocumentRecognizerViewController
. See new classSBSDKGenericDocumentRecognizerAccumulationConfiguration
.
- 🚀 Improvements:
- Made the SwiftUI Barcode Scanner more flexible. See
SBSDKUI2BarcodeScannerView
.
- Made the SwiftUI Barcode Scanner more flexible. See
- 🐞 Bug fixes:
- Fixed a UI issue on the RTU-UI V2 barcode sheet screen where the subtitle label was being vertically cut off.
- Fixed a UI issue on the RTU-UI V2 barcode confirmation sheet in the single use case where the loading indicator was not centered when the loading message was hidden.
- Fixed a bug in
compression
ofSBSDKTIFFImageWriterParameters
where theSBSDKTIFFImageWriter
was not using the chosen compression value. - Fixed a bug in
SBSDKCheckRecognizer
where theacceptedCheckTypes
were not being applied correctly. - Fixed a bug in
SBSDKUICheckRecognizerViewController
where theacceptedCheckStandards
were not being applied correctly.
- ⚠️ Breaking Changes:
- Changed SwiftUI Barcode Scanner initializer to accept blocks instead of binding vars. See
SBSDKUI2BarcodeScannerView
. - Removed
ccittfax3
andccittfax4
options fromSBSDKTIFFImageWriterCompressionOptions
, you should now useccitt_t4
andccitt_t6
respectively.
- Changed SwiftUI Barcode Scanner initializer to accept blocks instead of binding vars. See
Version 5.2.0 (26 June 2024):
- 🎉 New:
- Added support for german health insurance card front side and european health insurance card to
SBSDKGenericDocumentRecognizer
,SBSDKGenericDocumentRecognizerViewController
andSBSDKUIGenericDocumentViewController
. - Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32.
- Added properties
australiaPostCustomerFormat
,useIATA2OF5Checksum
anduseCode11Checksum
toSBSDKBarcodeAdditionalParameters
andSBSDKUI2BarcodeRecognizerConfiguration
. - Added support for PDF metadata attributes when rendering PDF files: see new class
SBSDKPDFAttributes
and new propertypdfAttributes
onSBSDKPDFRendererOptions
.
- Added support for german health insurance card front side and european health insurance card to
- 🚀 Improvements:
- Improved detection of UPC- and EAN extensions.
- The generic document recognizer and its UI components now use the new Scanbot OCR engine under the hood. In order to scan for generic documents the additional OCR language data bundle is no longer required.
- Improved document detection on booklet documents.
- Improved performance of
SBSDKDocumentQualityAnalyzer
. - Added support for Extended Channel Interpretation (ECI) for Datamatrix and Aztec.
- Improved GS1 string handling with new modes for decoding and validation. See
SBSDKGS1Handling
. - Added the ability to display the scanned barcodes image in the FindAndPick usecase of
SBSDKUI2BarcodeScannerViewController
by specifyingSBSDKUI2ExpectedBarcode.barcodeImageKey
for the expected barcodesimage
property.
- 🐞 Bug fixes:
- Fixed a bug in the FindAndPick usecase of
SBSDKUI2BarcodeScannerViewController
that never showed the expected barcodes title, but always the barcode value.
- Fixed a bug in the FindAndPick usecase of
- ⚠️ Breaking Changes:
- Removed enum
SBSDKBarcodeDensity
. - Removed property
codeDensity
fromSBSDKBarcodeAdditionalParameters
. - Removed enum values
validate
anddecode
fromSBSDKGS1Handling
and replaced them bydecodeStructure
,decodeFull
,validateStructure
andvalidateFull
. - Removed property
sharpnessAcceptanceFactor
fromSBSDKGenericDocumentRecognizer
,SBSDKGenericDocumentRecognizerViewController
andSBSDKUIGenericDocumentRecognizerBehaviorConfiguration
. - Removed property
isAccumulatingDocuments
fromSBSDKGenericDocumentRecognizer
andSBSDKGenericDocumentRecognizerViewController
. - Deprecated
SBSDKHealthInsuranceCardRecognizer
,SBSDKHealthInsuranceCardScannerViewController
andSBSDKUIHealthInsuranceCardScannerViewController
. - Removed class
SBSDKPDFMetadataEditor
.
- Removed enum
Version 5.1.3 (26 June 2024):
- 🚀 Improvements:
- Improved detection of UPC/EAN barcode extensions in live mode.
- The barcode scanner now supports transposed (mirrored/flipped) Aztec barcodes.
- 🐞 Bug fixes:
- Fixes a bug in
SBSDKUI2Color
where settingisArgb
to true, resulted in a wrong color.
- Fixes a bug in
Version 5.1.1 (6 June 2024):
- 🐞 Bug fixes:
- Fixes a crash with all Classic UI components when energy saving is disabled.
- Fixes a bug in
SBSDKUI2BarcodeScannerViewController
in single scan mode that prevented the barcode scanner from pausing the recognition while the submit dialog is shown.
Version 5.1.0 (21 May 2024):
- 🎉 New:
- Added new property
regularExpressionPattern
toSBSDKBarcodeScanner
andSBSDKBarcodeScannerViewController
to limit detection results. - Added support of the new 'Find and Pick' barcode scanning mode, see
SBSDKUI2FindAndPickScanningMode
. - Added support for continuous scanning in
SBSDKUI2BarcodeScannerViewController
. - Added a new configuration class
SBSDKHealthInsuranceCardRecognizerParameters
to configure the live detection recognizer inSBSDKHealthInsuranceCardRecognizer
. - Added a new property
liveDetectionParameters
inSBSDKHealthInsuranceCardRecognizer
. - Added a new property
recognizerParameters
inSBSDKHealthInsuranceCardScannerViewController
andSBSDKUIHealthInsuranceCardScannerViewController
. - Added support for new barcode type
SBSDKBarcodeTypeMicroPdf417
. - Added a new class
SBSDKBarcodeDocumentConstants
which has all the constants related to the barcode document format. - Added new classes for all the barcode document formats. See the API documentation for more details.
- Added a new class
SBSDKBarcodeDocumentRootType
which replaces the oldSBSDKBarCodeScannerDocumentFormat
. - Added read-only, Key-Value observable property
pages
of type[SBSDKDocumentPage]
toSBSDKDocument
. - Added Swift structured concurrency API (async/await) to
SBSDKUI2BarcodeScannerViewController
,SBSDKUIPDFRenderer
,SBSDKPDFRenderer
,SBSDKTIFFImageWriter
,SBSDKOpticalCharacterRecognizer
,SBSDKPDFPagesExtractor
andSBSDKTextLayoutRecognizer
. - Added a new struct
SBSDKUI2BarcodeScannerView
which is the SwifUI wrapper forSBSDKUI2BarcodeScannerViewController
. - Added possibility to inject an image to simulate a video stream and a captured image to any scanner's camera session for UI testing. See
Scanbot.testData
,SBSDKTestData
andSBSDKSimulatedCameraMockData
. - Added
isCameraFrozen
property toSBSDKBaseScannerViewController
. - Added property
acceptedBrightnessThreshold
toSBSDKDocumentScanner
,SBSDKDocumentScannerViewController
,SBSDKUIDocumentScannerBehaviourConfiguration
andSBSDKUIFinderDocumentScannerBehaviorConfiguration
. - Added property
averageBrightness
toSBSDKDocumentDetectionMetrics
. - Added new static properties
allFormats
,commonFormats
,oneDFormats
andtwoDFormats
toSBSDKUI2BarcodeFormat
. - Added new class
SBSDKUI2BarcodeTextLocalization
and new propertylocalization
toSBSDKUI2BarcodeScannerConfiguration
to support localized strings. - Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
- Added new property
- 🚀 Improvements:
- IMPORTANT: Changed the default rear cameras on all scanners to the triple or dual camera. On some devices with triple camera this results in a different view port (more zoomed in). Please make sure to adapt your zoom ranges and factors.
- Improved image quality and capture speed on most iOS devices slightly by capturing HEIF images.
- The health insurance card recognizer now implements the new scanbot OCR engine. The recognition is faster and more accurate than before.
- Added support of haptic feedback on capable devices.
- Made properties
polygon
,filter
,parametricFilters
,documentImageSizeLimit
,documentImage
,documentImageURL
,documentPreviewImage
anddocumentPreviewImageURL
of classSBSDKDocumentPage
Key-Value observable. SBSDKPDFPagesExtractor
functions now create the output directory if it doesn't exist yet.- Added support for structured logging (OSLog) to the SDK (iOS 14+).
- 🐞 Bug fixes:
- Fixed a bug with the generic textline recognizer not returning multiline results.
- Fixed a bug with the asynchronous functions of
SBSDKPDFPagesExtractor
which returned an empty array of image URLs. - Fixed a UI bug in the
SBSDKUI2BarcodeScannerViewController
. - Fixed the documentation of
isShutterButtonHidden
inSBSDKUIFinderDocumentScannerUIConfiguration
to correctly mention its default value. - Fixed JSON representation of
SBSDKUI2BarcodeItem
.
- ⚠️ Breaking Changes:
- Important: The default rear camera in all scanners has been changed from the ultra-wide or wide camera to the triple or dual camera.
- Renamed function
captureJPEGStillImage
tocaptureStillImage
inSBSDKBaseScannerViewController
(and all subclasses) andSBSDKCameraSession
. - Renamed function
captureOutput(_ output:, didOutput:, from:)
tocameraSession(_ session:, didOutput:)
in protocolSBSDKCameraSessionDelegate
. - Replaced the class
SBSDKBarcodeDocumentType
bySBSDKBarcodeDocumentRootType
. - Renamed
supportedBarcodesTypes(for:)
tosupportedBarcodeTypes(for:)
in the new classSBSDKBarcodeDocumentRootType
. - Removed the protocol
SBSDKBarCodeScannerDocumentFormat
and all of its children classes. - Removed default properties of use cases in
SBSDKUI2BarcodeUseCase
, now use the proper initializer for every use case, e.g.SBSDKUI2SingleScanningMode()
. - Changed the type of numeric parametric filter parameters from Float to Double.
- Changed the order of parameters in the initializer of
SBSDKCustomBinarizationFilter
. - Removed
barcodeTypes
andacceptedDocumentTypes
fromSBSDKUI2BarcodeRecognizerConfiguration
as they are not needed anymore and we can usebarcodeFormats
andacceptedDocumentFormats
directly. - Made the property
type
inSBSDKUI2BarcodeItem
optional. - Changed type of property
rawBytes
from [UInt8] to Data.
- 🚙 Under the hood:
- Updated third-party libraries zlib to version 1.3.1, libtiff to 4.6.0, libjpeg-turbo to 2.1.5.1, libpng to 1.6.40.
- Added third-party library libzueci version 1.0.0
Version 5.0.4 (27 March 2024):
- 🐞 Bug fixes:
- Fixes a bug where barcode results formattedResult returned nil instead of the correct barcode document.
Version 5.0.3 (21 March 2024):
- 🐞 Bug fixes:
- Changed privacy manifest to comply with the latest Apple specs.
Version 5.0.2 (15 March 2024):
- 🐞 Bug fixes:
- Fixes a problem that slowed down still image capturing on some older iOS devices.
- 🚀 Improvements:
- Improved speed and image quality of still image capturing.
Version 5.0.1 (12 March 2024):
- 🐞 Bug fixes:
- Fixed a critical bug in the camera session causing still images to be captured at a lower than expected resolution.
- Fixed a bug in the Generic Document Scanner which prevented the extraction of the given names as well as the valid from date from a residence permit card.
Version 5.0.0 (1 March 2024):
- 🎉 New:
- Added new RTU-UI V2 component, see
SBSDKUI2BarcodeScannerViewController
. - Added new class-based image filters with customizable parameters:
SBSDKParametricFilter
(abstract base class)SBSDKScanbotBinarizationFilter
SBSDKCustomBinarizationFilter
SBSDKColorDocumentFilter
SBSDKBrightnessFilter
SBSDKContrastFilter
SBSDKGrayscaleFilter
SBSDKWhiteBlackPointFilter
SBSDKLegacyFilter
(encapsulates the deprecatedSBSDKImageFilterType
filters)
- Added support for German residence permit documents to
SBSDKGenericDocumentRecognizer
. SeeSBSDKGenericDocumentRootType
. - Added class
SBSDKCheckDocument
to represent a document specifically used for checking purposes, inheriting properties and methods fromSBSDKGenericDocument
. - Added the
returnCroppedDocumentImage
property toSBSDKMedicalCertificateRecognizerConfigurationOptions
,SBSDKMedicalCertificateScannerViewController
andSBSDKUIMedicalCertificateScannerViewController
. This property allows you to control whether the SDK should include a cropped document image in its output or not. - Added new property
minimumNumberOfSymbols
toSBSDKDocumentQualityAnalyzer
. - Added streaming encryption support to
SBSDKStorageCrypting
. - Added the
SBSDKFinderView.Style
enum and the propertystyle
that defines the drawing styles of the finder view toSBSDKFinderView
andSBSDKBaseScannerViewFinderConfiguration
. - Added the
viewFinderStyle
property toSBSDKBaseScannerViewController
. - Added a new property
supportedBarcodeTypes
inSBSDKBarcodeDocumentType
that has the supported barcode types of the barcode document format. - Added a new static method
supportedBarcodesTypes(for:)
inSBSDKBarcodeDocumentType
to return the supported barcode types of a given array of barcode document formats. - Added a new modern beep sound in
SBSDKSoundController
. - Added a new enum
SBSDKSoundType
to configure the default beep sound ofSBSDKSoundController
. - Added Privacy manifest file (
PrivacyInfo.xcprivacy
) to the SDK. - Added new static property
maximumRecommendedImageSize
toSBSDKDeviceInformation
. - Added a new property
boundingBoxWithImageSize
toSBSDKOCRResultBlock
to get the bounding box of the receiver in absolute image coordinate system. - Added new function
resetAccumulation
toSBSDKBarcodeScannerViewController
.
- Added new RTU-UI V2 component, see
- 🚀 Improvements:
- Improved the installation of custom OCR languages for the Tesseract OCR engine. See
SBSDKOCRLanguagesManager
. - Streaming rendering and encrypting for
SBSDKPDFRenderer
andSBSDKTIFFImageWriter
. Memory footprint during rendering reduced by up to 5x for TIFF. Unlimited PDF rendering.
- Improved the installation of custom OCR languages for the Tesseract OCR engine. See
- 🐞 Bug fixes:
- Fixed a bug where the
recognizeOnImageStorage:completion:
was unable to detect text on imageStorage when the encryption was on.
- Fixed a bug where the
- ⚠️ Breaking Changes
- Due to the refactoring of Scanbot SDK to the Swift language a lot of properties and method parameters have changed in order to provide a clean and consistent interface for Swift and Objective-C.
- Renamed barcode type RSS14 to Databar and RSSExpanded to DatabarLimited.
- Removed adjustable filters and partially replaced them with the parametric filters.
- Deprecated
SBSDKImageFilterType
. Use the new parametric filtersSBSDKParametricFilter
and its subclasses if possible. - Replaced parameters of type
SBSDKImageFilterType
bySBSDKParametricFilter
in most classes. - Changed type of
binarizationFilter
inSBSDKTIFFImageWriterParameters
fromSBSDKImageFilterType
toSBSDKParametricFilter
. - Renamed
SBSDKUIDocument
toSBSDKDocument
,SBSDKUIPage
toSBSDKDocumentPage
andSBSDKUIPageFileStorage
toSBSDKDocumentPageFileStorage
. - Refactored
SBSDKImageProcessor
moving away from the complex asynchronous functions to a straight object oriented approach. - Deprecated
SBSDKUIBarcodeScannerViewController
andSBSDKUIBarcodesBatchScannerViewController
along with their related classes. Please consider switching to the newSBSDKUI2BarcodeScannerViewController
. - Changed
isLicenseValid
,licenseStatus
from functions to variables inScanbot
class. - Changed
defaultImageStoreEncrypter
,defaultPDFEncrypter
,shouldShowStatusBarOnScanningScreens
,defaultStatusBarStyle
from separated getters and setters to variables inScanbotUI
class. - Removed
printInfo:
,printError:
andprintWarning:
fromSBSDKLog
. - Changed
setLoggingEnabled:
to propertyisLoggingEnabled
inSBSDKLog
. - Functions
logInfo:
,logError:
andlogWarning:
inSBSDKLog
now acceptString
as a parameter instead ofva_list
. - Changed all properties of type
NSNumber
to optionalDouble
inSBSDKImageMetadata
. - Replaced default initialization
initWithParentViewController:containerView
by the new static methodcreateWithParentViewController:containerView
inSBSDKImageEditingViewController
. - Changed
SBSDKTIFFImageWriter
from static class to instantiated class and simplified the interface. - Changed all
SBSDKBarcodeType
global constants to static properties ofSBSDKBarcodeType
. - Refactored
SBSDKBarcodeType
, it introduces a style naming change for all barcode types, please see the documentation. - Moved the global constants
SBSDKBarcodeMetadataEANUPCExtensionKey
andSBSDKBarcodeMetadataIsGS1MessageKey
toSBSDKBarcodeScannerResult
as its static properties. - Renamed enum
SBSDKAutosnappingMode
toSBSDKAutoSnappingMode
. - Renamed enum
SBSDKMedicalCertificateRecognizerFormType
toSBSDKMedicalCertificateRecognizerForm
, please see the documentation for the refactored types. - Renamed properties
patientInformationRecognitionEnabled
andbarcodeRecognitionEnabled
toisPatientInformationRecognitionEnabled
andisBarcodeRecognitionEnabled
inSBSDKMedicalCertificateRecognizerConfigurationOptions
. - Renamed and refactored class
SBSDKPDFMetadataProcessor
toSBSDKPDFMetadataEditor
. - Renamed and refactored class
SBSDKResourcesManager
toSBSDKOCRLanguagesManager
. - Renamed functions
mlConfiguration
andlegacyConfigurationWithLanguages:
inSBSDKOpticalCharacterRecognizerConfiguration
toscanbotOCR
andtesseractWithLanguages:
. - Renamed enum values
SBSDKOpticalCharacterRecognitionModeLegacy
toSBSDKOpticalCharacterRecognitionModeTesseract
andSBSDKOpticalCharacterRecognitionModeML
toSBSDKOpticalCharacterRecognitionModeScanbotOCR
. - Renamed the function
recognizeFromStillImage
,recognizeFromVideoFrameImage
,recognizeFromSampleBuffer:orientation:
,recognizeFromSampleBuffer:searchInRect:orientation:
torecognizeOnStillImage
,recognizeOnVideoFrameImage
,recognizeOnSampleBuffer:orientation:
,recognizeOnSampleBuffer:searchInRect:orientation:
inSBSDKHealthInsuranceCardRecognizer
. - Renamed the static factory functions in
SBSDKUIHealthInsuranceCardScannerViewController
to fix their ugly signatures. - Renamed the function
recognizeFromSampleBuffer
torecognizeOnSampleBuffer
inSBSDKGenericTextLineRecognizer
. - Renamed the static factory functions in
SBSDKUITextDataScannerViewController
to fix their ugly signatures. - Changed all
SBSDKBarcodeDocumentType
global constants to static properties ofSBSDKBarcodeDocumentType
. - Changed all
SBSDKGenericDocument
global constants to static properties ofSBSDKGenericDocument
andSBSDKCheckDocument
. - Replaced the default value of
acceptedBarcodeTypes
withSBSDKBarcodeType.commonTypes
, this property will no longer accept nil anywhere, if it's set to an empty array, this will automatically be translated toSBSDKBarcodeType.commonTypes
. - The property
acceptedDocumentTypes
ofSBSDKBarcodeScanner
andSBSDKBarcodeScannerViewController
can no longer be set to nil. - Renamed the property
optional1Field
inSBSDKMachineReadableZoneRecognizerResult
tovisaOptionalField
. - Renamed enum value
SBSDKMachineReadableZoneRecognizerFieldNameOptional1
toSBSDKMachineReadableZoneRecognizerFieldNameVisaOptional
.
- 🚙 Under the hood:
- Refactored all public SDK code to Swift.
Version 4.2.2 (21 March 2024):
- 🐞 Bug fixes:
- Changed privacy manifest to comply with the latest Apple specs.
Version 4.2.1 (13 February 2024):
- 🎉 New:
- Added Privacy manifest file (
PrivacyInfo.xcprivacy
) to the SDK. - Added new static property
maximumRecommendedImageSize
toSBSDKDeviceInformation
.
- Added Privacy manifest file (
- 🐞 Bug fixes:
- Fixed a bug in
SBSDKOpticalCharacterRecognizer
whererecognizeText:completion:
was unable to detect text on imageStorage when the encryption was enabled. - Fixed the issue when the top and bottom toolbars' background color in
SBSDKUICroppingViewController
didn't update on dark mode change, when set toUIColor.systemBackground
.
- Fixed a bug in
Version 4.2.0 (8 January 2024):
- 🎉 New:
- Added support for Kuwait ID cards in the MRZ scanner.
- Added support for Israelian checks to the check recognizer.
- Added support for new barcode type
SBSDKBarcodeTypeGS1Composite
. - Added property
imageSizeLimit
toSBSDKDocumentQualityAnalyzer
.
- 🚀 Improvements:
- Improved the performance and memory footprint of the document quality analyzer.
- Added more control over how to handle GS1 messages in barcodes. See
SBSDKGS1Handling
.
- ⚠️ Breaking Changes:
- The property
enableGS1Decoding
has been replaced by the enumSBSDKGS1Handling
inSBSDKBarcodeAdditionalParameters
. GS1
codes are now handled differently for various barcode types. Using the default optionPARSE
will give the same result as before for all barcode types, except ofRSS_EXPANDED
. Previously, forRSS_EXPANDED
, the result was inconsistently returned with parentheses. Now, to get results with parentheses for all barcode types, it is needed to choose the optionDECODE
.
- The property
Version 4.1.0 (24 November 2023):
- 🎉 New:
- Added a new class
SBSDKDocumentQualityAnalyzer
. - Added support for 6 new barcode types to the barcode scanner:
SBSDKBarcodeTypeUSPSIntelligentMail
SBSDKBarcodeTypeRoyalMail
SBSDKBarcodeTypeJapanPost
SBSDKBarcodeTypeRoyalTNTPost
SBSDKBarcodeTypeAustraliaPost
SBSDKBarcodeTypeDatabarLimited
- Added a new class
- 🐞 Bug fixes:
- Fixed a bug with the iPad 5th generation where captured images were wrong.
- Fixed a bug where the finder text hint was still showing when
viewFinderEnabled
was disabled inSBSDKUIBarcodeScannerViewController
andSBSDKUIBarcodesBatchScannerViewController
. - Fixed a wrong polygon color in RTU-UI barcode scanner tracking overlay.
- ⚠️ Breaking Changes:
- The class
SBSDKBlurrinessEstimator
has been removed and replaced by the far superiorSBSDKDocumentQualityAnalyzer
.
- The class
Version 4.0.0 (18 October 2023):
- 🎉 New:
- Added new classes
SBSDKOpticalCharacterRecognizer
,SBSDKOpticalCharacterRecognizerConfiguration
andSBSDKTextLayoutRecognizer
. - Added new method
widestAvailableBackFacingCamera
toSBSDKCameraDevice
. - Added new method
setupDefaultLicenseFailureHandlerWithCompletion:
to theScanbot
class.
- Added new classes
- 🚀 Improvements:
- New improved document detector with better performance and less memory consumption.
- Added new Optical Character Recognition engine based on machine learning algorithms that is much faster and less error prone.
- The new OCR engine currently supports all languages with latin letters, there is no need to specify the languages for it. The legacy engine based on Tesseract can still be used.
- ⚠️ Breaking Changes:
- Renamed
photoQualityPriorization
tophotoQualityPrioritization
everywhere in the SDK. - Removed
SBSDKImageMetricsAnalyzer
,SBSDKImageChannelMetrics
andUIImage+SBSDKMetricsAnalysis
. - Refactored all OCR and PDF rendering classes to incorporate the new OCR engine and simplify the API:
- Removed
SBSDKOpticalTextRecognizer
andSBSDKTextOrientationRecognizer
. - Renamed
SBSDKPageOrientation
toSBSDKTextOrientation
. - Renamed property
pageAnalyzerResult
totextLayoutRecognizerResult
inSBSDKOCRPage
. - Replaced
boundingBox
property bypolygon
inSBSDKOCRResultBlock
. - Changed function signatures of methods in
SBSDKPDFRenderer
andSBSDKUIPDFRenderer
. - Added new values and removed unused values in
SBSDKPDFRendererPageSize
.
- Removed
- Changed default value of the finder aspect ratio in
SBSDKUIFinderDocumentScannerUIConfiguration
to DIN A4 portrait.
- Renamed
- 🚙 Under the hood:
- New library libharu.
Version 3.0.2 (28 September 2023):
- 🐞 Bug fixes:
- Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
Version 3.0.0 (23 August 2023):
- 🎉 New:
- Added property
extensionFilter
to all barcode scanning APIs (SBSDKBarcodeScanner
,SBSDKBarcodeScannerViewController
,SBSDKBarcodeScanAndCountViewController
,SBSDKUIBarcodeScannerBehaviorConfiguration
andSBSDKUIBarcodesBatchScannerBehaviorConfiguration
). - Added property
extension
toSBSDKBarcodeScannerResult
. - Added new Scanner
SBSDKVehicleIdentificationNumberScanner
which scans and validates a Vehicle Identification Number. - Added new Classic UI component
SBSDKVINScannerViewController
which enables you to scan Vehicle Identification Numbers. - Added new RTU-UI component
SBSDKUIVINScannerViewController
which enables you to scan Vehicle Identification Numbers. - Added new class
SBSDKScanAndCountPolygonStyle
. - Added new delegate function
(nonnull SBSDKScanAndCountPolygonStyle *)barcodeScanAndCountController:(nonnull SBSDKBarcodeScanAndCountViewController *)controller polygonStyleForBarcode:(nonnull SBSDKBarcodeScannerResult *)code
toSBSDKBarcodeScanAndCountViewControllerDelegate
. - Added
trackingOverlayController
property toSBSDKBarcodeScannerViewController
. - Introduced new classes and protocols to manage barcode tracking overlay:
SBSDKBarcodeTrackingOverlayController
: Provides a customizable user interface for displaying barcodes and supports interaction with them.SBSDKBarcodeTrackingOverlayConfiguration
: Represents the configuration options for anSBSDKBarcodeTrackingOverlayController
.SBSDKBarcodeTrackedViewTextStyle
: Represents the style and kind of text rendered below a barcode.SBSDKBarcodeTrackedViewPolygonStyle
: Represents the style of the polygon rendered around a barcode.SBSDKTrackedBarcodeInfoView
: A protocol that defines the methods and properties required for a custom tracking view.
- Added functions to
SBSDKDeviceInformation
to get the total, used and unused disk space on the device.
- Added property
- 🚀 Improvements:
- RTU-UI configurations can now be initialized with partial/incomplete JSON data by internally merging the partial data into the configurations default values.
- Improved the speed of barcode recognition for most barcode symbologies.
- OCR quality for the Generic Text Line Scanner is significantly more reliable.
- 🐞 Bug fixes:
- Fixed a bug where
flashEnabled
was not working properly inSBSDKUIHealthInsuranceCardScannerViewController
. - Fixed a crash when denying camera permission.
- Fixed a bug with magnetic lines in
SBSDKImageEditingViewController
andSBSDKUICroppingViewController
. - Fixed an issue where the MRZ Scanner was not recognizing the new standard of Belgian ID Cards.
- Fixed the broken default zoom level in
SBSDKGenericTextLineRecognizerViewController
andSBSDKUITextDataScannerViewController
.
- Fixed a bug where
- ⚠️ Breaking Changes:
- Due to a Swift compiler naming collision, the class
ScanbotSDK
has been renamed toScanbot
. - Renamed the class
ScanbotSDKUI
toScanbotUI
for consistency. - Removed barcode type
SBSDKBarcodeTypeUnknown
. - Removed property
autoCancelTimeout
fromSBSDKUIMRZScannerBehaviorConfiguration
. - Removed
textRecognitionLanguages
andtextFilterStrategy
fromSBSDKGenericTextLineRecognizerViewController
. - Removed
textFilterStrategy
fromSBSDKUITextDataScannerStep
. - Removed
supportedLanguages
fromSBSDKUITextDataScannerBehaviorConfiguration
. - Removed
qrBarcodeDetectionViewController:selectionOverlayTextFor:
fromSBSDKUIBarcodeScannerViewController
. - Renamed
selectionOverlayEnabled
toisTrackingOverlayEnabled
inSBSDKBarcodeScannerViewController
. - Renamed
SBSDKUIBarcodeSelectionOverlayConfiguration
toSBSDKUIBarcodeTrackingOverlayConfiguration
- Renamed
selectionOverlayConfiguration
totrackingOverlayConfiguration
inSBSDKUIBarcodeScannerConfiguration
andSBSDKUIBarcodesBatchScannerConfiguration
. - Replaced the properties
polygonEnabled
,polygonColor
,polygonFillColor
andpolygonLineWidth
by the propertypolygonStyle
inSBSDKBarcodeScanAndCountViewController
.
- Due to a Swift compiler naming collision, the class
Version 2.3.0 (22 June 2023):
- 🎉 New:
- Added support for the Micro QR barcode type.
- Added new property
viewFinderEnabled
toSBSDKUIBarcodeScannerBehaviorConfiguration
andSBSDKUIBarcodesBatchScannerBehaviorConfiguration
. - Added new properties
confirmationDialogTitle
andconfirmationDialogMessage
toSBSDKUIBarcodeScannerTextConfiguration
. - Machine-readable-zone results have been refactored (please see Breaking Changes):
- Added new properties
genericDocument
,travelDocumentTypeVariantField
anddateOfIssueField
toSBSDKMachineReadableZoneRecognizerResult
. - Added new value
SBSDKMachineReadableZoneRecognizerResultDocumentTypeCrewMemberCertificate
to theSBSDKMachineReadableZoneRecognizerResultDocumentType
enum. - Added new values
SBSDKMachineReadableZoneRecognizerFieldNameDateOfIssuance
andSBSDKMachineReadableZoneRecognizerFieldNameTravelDocumentTypeVariant
to theSBSDKMachineReadableZoneRecognizerFieldName
enum.
- Added new properties
- Added new Classic UI component
SBSDKBarcodeScanAndCountViewController
which enables you to scan barcodes multiple times using the shutter button. - Added new function
-(void)flipHorizontally:(CGSize)size
toSBSDKPolygon
. - Added new function
-(BOOL)isMirrored
toSBSDKCameraDevice
.
- 🚀 Improvements:
- Changed the default value for the
documentType
property inSBSDKUIGenericDocumentRecognizerBehaviorConfiguration
to a document type that contains all kinds ofSBSDKGenericDocumentRootType
. Simply said, by defaultSBSDKUIGenericDocumentRecognizerViewController
now recognizes all documents. - Changed the default zoom range from (0.0 - 3.0) to (0.0 - 12.0) in all ClassicUI and RTU-UI components and in
SBSDKZoomRange
. - Better per-frame accuracy for QR code detection.
- Support for inverted PDF-417 barcodes.
- The barcode types Code 39 and Code 93 decode slightly faster.
- Support for generic documents in the MRZ recognizer.
- Changed the default value for the
- 🐞 Bug fixes:
- Fixed the detection of a few false positive RSS Expanded codes in live mode.
- Fixed an unexpected behavior of the barcode scanner when passing
SBSDKBarcodeTypeUnknown
as accepted barcode type. - Fixed a bug in all Classic UI and RTU-UI components where the
recognitionEnabled
property might not have worked as intended. - Fixed a bug where
ocrResolutionLimit
was not being used inSBSDKUITextDataScannerViewController
from JSON. - Fixed a bug where the polygon should be mirrored when using the front camera in
SBSDKDocumentScannerViewController
andSBSDKUIDocumentScannerViewController
. - Fixed a bug where
automaticSelectionEnabled
was not working properly inSBSDKUIBarcodesBatchScannerViewController
.
- ⚠️ Breaking Changes:
- Removed support for iOS 11.x and 12.x. The minimum deployment target to use ScanbotSDK in your app is iOS 13.0!
- Removed class
SBSDKUIMachineCodesCollection
. - Removed classes
SBSDKMultipleObjectScannerViewController
,SBSDKBusinessCardsImageProcessor
,SBSDKMultipleObjectsDetector
,SBSDKUIMultipleObjectScannerViewController
and its configuration classes. - Removed class
SBSDKBaseCameraViewController
. - Renamed the property
acceptedMachineCodeTypes
toacceptedBarcodeTypes
inSBSDKUIBarcodeScannerBehaviorConfiguration
andSBSDKUIBarcodesBatchScannerBehaviorConfiguration
. - The RTU-UI configuration JSON formats have been changed, mostly the enum values have been capitalized.
- Machine-readable-zone results have been refactored:
- Date fields in machine-readable-zones are returned unformatted now, e.g. in the format 'YYMMDD'. Previously we tried to convert them to the format 'DD.MM.YY'.
- Removed value
SBSDKMachineReadableZoneRecognizerFieldNameDiscreetIssuingStateOrOrganization
from theSBSDKMachineReadableZoneRecognizerFieldName
enum. - Removed value
SBSDKMachineReadableZoneRecognizerResultDocumentTypeTravelDocument
from theSBSDKMachineReadableZoneRecognizerResultDocumentType
enum. - Removed property
checkDigitCharacter
fromSBSDKMachineReadableZoneRecognizerResultCheckDigit
. - Removed property
discreetIssuingStateOrOrganizationField
fromSBSDKMachineReadableZoneRecognizerResult
. - Removed property
checkDigitsCount
fromSBSDKMachineReadableZoneRecognizerResult
.
Version 2.2.1 (1 June 2023):
- 🎉 New:
- Added properties
maxNumberOfAccumulatedResults
andrequiredNumberOfEqualAccumulatedResults
toSBSDKMachineReadableZoneRecognizer
,SBSDKMRZScannerViewController
andSBSDKUIMRZScannerBehaviorConfiguration
.
- Added properties
- 🚀 Improvements:
- New configurable machine-readable-zone result accumulator that lets you fine-tune the strictness of the recognizer.
- ⚠️ Breaking Changes:
- Removed property
resultAccumulationCount
fromSBSDKMachineReadableZoneRecognizer
,SBSDKMRZScannerViewController
andSBSDKUIMRZScannerBehaviorConfiguration
.
- Removed property
Version 2.2.0 (19 April 2023):
- 🎉 New:
- A new machine-learning based machine-readable zone recognizer has been introduced
- All Classic-UI components now have new methods
init
andattach:parentViewController:containerView
, which provide more flexibility. - Portuguese ID cards (old and new format) can now be recognized by the MRZ scanners.
- Support for barcode type
SBSDKBarcodeTypeCode25
, which is a variant of the Industrial-2of5 type without the checksum, has been added. SBSDKMedicalCertificateRecognizerResultPatientField
now has a new propertyrecognitionConfidence
.SBSDKMachineReadableZoneRecognizerResult
now has a new propertyrawString
, providing direct access to the raw MRZ string.SBSDKBaseScannerGeneralConfiguration
now has a new propertyminimumTimeWithoutDeviceMotionBeforeDetection
.SBSDKUIDocumentScannerViewController
now has a new propertycurrentSettings
, which can be used to persist and restore user-made settings.
- 🚀 Improvements:
- Barcode scanning has been improved with new ML models.
- Stacked RSS barcode scanning has seen substantial improvements.
- All Classic-UI view controllers can now be instantiated from storyboards.
- Patient info box recognition has been improved in the medical certificate scanners.
SBSDKUIDocument
andSBSDKUIPage
now conform to theNSCopying
protocol, making it easier to create deep copies of their instances.
- 🐞 Bug fixes:
- The Generic Document Recognizer now returns no result if MRZ parsing fails.
- A bug that caused the document scanner to auto-capture a second image shortly after the first image has been fixed.
- A rare crash with the application state observer has been fixed.
- ⚠️ Breaking Changes:
- The additional
SBSDKMRZData.bundle
has been removed as it is no longer needed with the new machine-readable zone recognizer. - The MRZ subspec has been removed from the Cocoapods podspec file. Please make sure to check your pods file!
- The method
initWithParentViewController:parentViewController:parentView:delegate
of all Classic-UI components has been changed so that theparentViewController
and theparentView
must not be nil. - The method
initWithParentViewController:parentViewController:parentView
of all the Classic-UI components has been changed so that theparentView
must not be nil. - Property
validationConfidence
has been removed fromSBSDKMedicalCertificateRecognizerDateResult
. - The format of date strings in
SBSDKMedicalCertificateRecognizerDateResult
has been changed fromDD.MM.YY
toDD.MM.YYYY
. - Property
textLines
has been removed fromSBSDKMachineReadableZoneRecognizerResult
. - Class
SBSDKMachineReadableZoneRecognizerTextLine
has been removed. - Property
decodeStacks1D
has been removed fromSBSDKBarcodeAdditionalParameters
. The barcode scanner now handles this automatically.
- The additional
- 🚙 Under the hood:
- Removed third-party library
backward-cpp
.
- Removed third-party library
Version 2.1.0 (15 March 2023):
- 🎉 New:
- Added optional delegate method
genericDocumentRecognizerViewControllerShouldRecognize:
toSBSDKGenericDocumentRecognizerViewControllerDelegate
. - Added optional delegate method
healthInsuranceCardScannerViewControllerShouldRecognize:
toSBSDKHealthInsuranceCardScannerViewControllerDelegate
. - Added optional delegate method
checkRecognizerViewControllerShouldRecognize:
toSBSDKCheckRecognizerViewControllerDelegate
. - Added optional delegate methods
barcodeScannerController:didUpdateDetectedBarcodes:
,barcodeScannerController:configureCustomCell:forBarcode:withBarcodePolygonPath:
, andbarcodeScannerController:customCellFrameForProposedFrame:
toSBSDKBarcodeScannerViewControllerDelegate
. - Added new property
automaticSelectionEnabled
toSBSDKBarcodeScannerViewController
. - Added new RTU-UI component
SBSDKUIFinderDocumentScannerViewController
which enables you to scan a single document page with the help of a viewfinder and bound to a certain aspect ratio. - Added new property
ignoresSafeAreaInsets
toSBSDKFinderView
. - Added new property
requiredAspectRatios
toSBSDKUIDocumentScannerBehaviorConfiguration
. - Added new properties
oneDTypes
andtwoDTypes
toSBSDKBarcodeType
. - Added new function
-(void)captureDocumentImage
toSBSDKDocumentScannerViewController
. - Added properties
dateOfDetection
andage
toSBSDKBarcodeScannerResult
.
- Added optional delegate method
- 🚀 Improvements:
- Improved performance and accuracy of machine-readable zone recognition.
- 🐞 Bug fixes:
- Fixed a potential memory issue in the check recognizer.
- Fixed a crash while logging URLs with spaces.
Version 2.0.0 (1 February 2023):
- 🎉 New:
- Added new properties
resultWithConfirmationEnabled
anddialogTextFormat
inSBSDKUIBarcodeScannerBehaviorConfiguration
to display a confirmation dialog before returning the results. - Added new properties
confirmationDialogRetryButtonTitle
andconfirmationDialogConfirmButtonTitle
inSBSDKUIBarcodeScannerTextConfiguration
to configure the text confirmation dialog buttons. - Added new properties
confirmationDialogStyle
,confirmationDialogConfirmButtonStyle
andconfirmationDialogRetryButtonStyle
inSBSDKUIBarcodeScannerUIConfiguration
to configure the style of the confirmation dialog buttons. - Added new property
automaticSelectionEnabled
toSBSDKUIBarcodeSelectionOverlayConfiguration
. - Added new property
sourceImage
toSBSDKBarcodeScannerResult
. - Added new property
autoSnappingDelay
toSBSDKDocumentScannerViewController
andSBSDKUIDocumentScannerBehaviorConfiguration
. - Added new property
videoFrameResolution
of the new typeSBSDKVideoFrameResolution
toSBSDKBaseScannerGeneralConfiguration
.
- Added new properties
- 🚀 Improvements:
- Improved general speed and accuracy when detecting barcodes.
- Improved recognition of stacked RSS Expanded barcodes.
- Improved live check recognition by using UHD resolution by default.
- 🐞 Bug fixes:
- Fixed an issue in
SBSDKPDFPagesExtractor
with QR codes as described in the PDF 1.6 standard. - Fixed a layout problem and log warnings with
SBSDKZoomingImageScrollView
. - Fixed a problem where the colors of magnetic and non-magnetic lines in
SBSDKImageEditingViewController
andSBSDKUICroppingViewController
did not update properly.
- Fixed an issue in
- ⚠️ Breaking Changes:
- Removed all deprecated classes:
SBSDKUIWorkflowScannerViewController
,SBSDKUINFCPassportReaderViewController
,SBSDKNFCPassportReader
,SBSDKScannerViewController
,SBSDKPayFormScanner
and all their related classes. - Removed deprecated properties and functions in
SBSDKMachineReadableZoneRecognizerResult
,SBSDKMedicalCertificateRecognizer
,SBSDKOpticalTextRecognizer
,SBSDKCaptureInfo
,SBSDKUIPage
andSBSDKGenericTextLineRecognizerConfiguration
. - Refactored
SBSDKBarcodeScannerViewControllerDelegate
. Please check all your classes that conform toSBSDKBarcodeScannerViewControllerDelegate
. - Removed
device
parameter from the initializer ofSBSDKMedicalCertificateScannerViewController
to be on par with other classic UI components.
- Removed all deprecated classes:
- 🚙 Under the hood:
- Updated third-party library TFlite to version 2.10.
Version 1.31.0 (3 January 2023):
- 🎉 New:
- Added support for more camera device types in
SBSDKCameraDevice
. The new device types areSBSDKCameraDeviceTypeUltraWide
,SBSDKCameraDeviceTypeDualWide
,SBSDKCameraDeviceTypeDual
andSBSDKCameraDeviceTypeTriple
. - Added new barcode scanner parameter
decodeStacks1D
toSBSDKBarcodeAdditionalParameters
. For stacked RSS barcodes, this should be set to the number of stacks with which the barcode was printed. - Added new type
SBSDKMedicalCertificateRecognizerFormType_21A_BACK
toSBSDKMedicalCertificateRecognizerFormType
. - Added new enum values
SBSDKMedicalCertificateRecognizerCheckboxTypeEntitlementToContinuedPaymentYes
,SBSDKMedicalCertificateRecognizerCheckboxTypeEntitlementToContinuedPaymentNo
,SBSDKMedicalCertificateRecognizerCheckboxTypeSickPayWasClaimedYes
,SBSDKMedicalCertificateRecognizerCheckboxTypeSickPayWasClaimedNo
,SBSDKMedicalCertificateRecognizerCheckboxTypeSingleParentYes
andSBSDKMedicalCertificateRecognizerCheckboxTypeSingleParentNo
toSBSDKMedicalCertificateRecognizerCheckboxType
. - Added a new text format property configuration in barcodes overlay
SBSDKBarcodeOverlayFormat
for RTU-UI, seeoverlayTextFormat
inSBSDKUIBarcodeSelectionOverlayConfiguration
and for classical component, seeoverlayTextFormat
inSBSDKBarcodeScannerViewController
. - Added new property
suppressPolygonLayer
toSBSDKDocumentScannerViewController
, to hide the polygon layer.
- Added support for more camera device types in
- 🚀 Improvements:
- Improved recognition of inverted barcodes.
- Improved performance and reduced false positive rate for stacked RSS barcodes.
- Improved performance of DataMatrix and QR-codes.
- Improved recognition of Medical certificates in general.
- 🐞 Bug fixes:
- Fixed a potential crash when the app using ScanbotSDK is suspended by the operating system.
- Fixed issues with MRZ on Mexican and US passports.
- Fixed a crash when applying a filter to single channel images.
- Fixed a crash on the detection of Health Insurance cards in some rare cases.
- ⚠️ Breaking Changes:
- Changed the default back-facing camera to the ultra-wide lens on iPhone 14 Pro (including Max) devices, due to close-focusing issues with these devices.
- Renamed
hideDetectionStatusLabel
tosuppressDetectionStatusLabel
inSBSDKDocumentScannerViewController
. - Renamed
SBSDKMedicalCertificateRecognizerCheckboxTypeAccident
toSBSDKMedicalCertificateRecognizerCheckboxTypeAccidentYes
. - Renamed
SBSDKMedicalCertificateRecognizerCheckboxTypeRequiresCare
toSBSDKMedicalCertificateRecognizerCheckboxTypeRequiresCareYes
. - Deprecated
SBSDKNFCPassportReader
,SBSDKUINFCPassportReaderViewController
and related classes. Will be removed in the future. - Deprecated
SBSDKPayformScanner
and related classes. Will be removed in the future.
- 🚙 Under the hood:
- Added third-party libraries (backward-cpp v1.6 and magic-enum v0.8.1).
Version 1.30.2 (14 Mar 2023):
- 🐞 Bug fixes:
- Fixed a potential crash in OCR initialization when the app name contains spaces
Version 1.30.1 (17 October 2022):
- 🐞 Bug fixes:
- Fixed a crash when navigating to and from scanner view controllers.
Version 1.30.0 (14 October 2022):
- ⚠️ Breaking Changes:
- Xcode 14.0 and higher is now required to build and submit apps using ScanbotSDK!
- Removed bitcode from ScanbotSDK. Bitcode is no longer needed and Apple deprecated it with Xcode 14. Please turn bitcode off for your apps using ScanbotSDK!
- The
SBSDKCameraSession
's methodstartSession
is now asynchronous and has a completion handler.
- 🎉 New:
- Added support for IATA and Industrial barcode types.
- Added property
detectionStatusFontSize
toSBSDKDocumentScannerViewController
which allows you to change the font size for the user guidance. - Added property
textHintFontSize
toSBSDKUIDocumentScannerTextConfiguration
which allows you to change the font size of the text hints. - Added property
initialScanDelay
toSBSDKBaseScannerViewController
,SBSDKUIBarcodesBatchScannerBehaviourConfiguration
andSBSDKUIBarcodeScannerBehaviourConfiguration
, which allows you to define how long the view controller waits (after its appearance) before scanning/recognizing. - Added JSON-support for
SBSDKUICroppingScreenConfiguration
. - Added a new function
- (nonnull NSArray<SBSDKBarcodeScannerResult *> *)barcodeScanner:(nonnull SBSDKBarcodeScannerViewController *)controller filterResults:(nonnull NSArray<SBSDKBarcodeScannerResult *> *)codes
toSBSDKBarcodeScannerViewControllerDelegate
which allows you to filter detected barcodes before post-processing them in the final delegate call. - Added properties
displayResultsOverlay
,resultsOverlayColor
andresultsOverlayTextColor
toSBSDKBarcodeScannerViewController
to display an AR-style overlay highlighting the found recognition result in real-time. - Added properties
selectionOverlayEnabled
as well asselectionPolygonColor
,selectionTextColor
,selectionTextContainerColor
and their highlighted counterparts toSBSDKBarcodeScannerViewController
to display and configure an overlay for selecting and highlighting recognized barcodes. - Added property
selectionOverlayConfiguration
of the new classSBSDKUIBarcodeSelectionOverlayConfiguration
toSBSDKUIBarcodeScannerConfiguration
andSBSDKUIBarcodesBatchScannerConfiguration
. - Added property
applicationStateDidChangeHandler
toSBSDKBaseScannerViewController
to notify you when the application moved to foreground or background state. - Added property
zoomFactorDidChangeHandler
toSBSDKBaseScannerViewController
to notify you when the camera zoom factor has changed. - Added property
cameraZoomFactorAbsolute
toSBSDKBaseScannerViewController
which returns the absolute camera's video zoom factor. - Added functions
freezeCamera
andunfreezeCamera
toSBSDKBaseScannerViewController
,SBSDKUIBarcodeScannerViewController
andSBSDKUIBarcodesBatchScannerViewController
.
- 🚀 Improvements:
- Improved MRZ detection on the US passports
- 🐞 Bug fixes:
- Fixed a bug where UPC/EAN extensions were not recognized.
- Fixed a warning with Xcode 14/iOS 16 about the camera session's synchronous start.
- Fixed a bug in
SBSDKImageEditingViewController
where magnetic lines were initially not being recognized.
Version 1.29.0 (1 September 2022):
- 🎉 New:
- Added new class
SBSDKSoundController
to play a default or custom sound on different actions, e.g. successful code detection. - Added new method
playBleepSound
toSBSDKBaseScannerViewController
to play a default bleep sound.
- Added new class
- 🚀 Improvements:
- Improved accuracy and performance of the check recognizer.
- 🐞 Bug fixes:
- Fixed a bug in
SBSDKImageEditingViewController
where the initial document detection failed. - Fixed a bug with inaccurate results of the MRZ recognizer.
- Fixed a bug in
Version 1.28.1 (17 August 2022):
- 🎉 New:
- Added optional delegate method
documentScannerController:didSampleVideoFrame:detectionResult:
toSBSDKDocumentScannerViewControllerDelegate
, which informs the delegate that the document scanner has processed a video frame.
- Added optional delegate method
- 🐞 Bug fixes:
- Fixed a crash in
SBSDKBarcodeScannerViewController
.
- Fixed a crash in
Version 1.28.0 (19 July 2022):
- 🎉 New:
- Added support for JSON in all RTU-UI configurations. All
SBSDKUI...Configuration
classes now have aninitWithJSON:
initializer. - Added new parameter
codeDensity
toSBSDKBarcodeAdditionalParameters
. - Replaced
autoSnappingEnabled
withautoSnappingMode
of the new typeSBSDKAutosnappingMode
inSBSDKDocumentScannerViewController
. - Added new parameter
forceUserGuidance
toSBSDKUIDocumentScannerBehaviorConfiguration
. - Added new parameter
flashButtonHidden
to all RTU-UI screens.
- Added support for JSON in all RTU-UI configurations. All
- ⚠️ Breaking Changes:
- Moved the parameters
acceptedMachineCodeTypes
andacceptedDocumentTypes
from the initializers ofSBSDKUIBarcodeScannerViewController
toSBSDKUIBarcodeScannerBehaviorConfiguration
and fromSBSDKUIBarcodesBatchScannerViewController
toSBSDKUIBarcodesBatchScannerBehaviorConfiguration
. - Moved the parameter
recognitionStep
fromSBSDKUITextDataScannerViewController
toSBSDKUITextDataScannerBehaviorConfiguration
. - Removed the parameter
accumulatedFramesCount
and the corresponding initializers fromSBSDKBarcodeScanner
. - Removed the parameter
barcodeAccumulatedFramesCount
fromSBSDKBarcodeScannerViewController
andSBSDKScannerViewController
. - Removed parameters
imageOrientationLock
andallowedInterfaceOrientations
from all RTU-UI configurations. This has been replaced by the combined propertyorientationLockMode
. - Removed delegate methods
(void)scannerControllerDidChangeDeviceOrientation:(nonnull SBSDKScannerViewController *)controller to:(UIDeviceOrientation)orientation transform:(CGAffineTransform)transform
and(BOOL)scannerController:(nonnull SBSDKScannerViewController *)controller shouldRotateInterfaceForDeviceOrientation:(UIDeviceOrientation)orientation transform:(CGAffineTransform)transform
fromSBSDKScannerViewControllerDelegate
.
- Moved the parameters
- 🐞 Bug fixes:
- Fixed a crash in the check recognizer.
- 🚙 Under the hood:
- Updated third-party library Boost to version 1.79.0
Version 1.27.1 (7 June 2022):
- 🐞 Bug fixes:
- Fixed
autoSnappingEnabled
inSBSDUIDocumentScannerBehaviourConfiguration
that had no effect. - Fixed visibility of the shutter button in
SBSDKUIDocumentScannerViewController
when camera access is denied.
- Fixed
Version 1.27.0 (3 June 2022):
- 🎉 New:
- Classic UI components:
- Added a new base scanner view controller
SBSDKBaseScannerViewController
which provides a lot of base functionality like zooming, viewfinder, energy management, focus locking, flash light and flash animation, automatic interruption of detection on disappearance or when presenting view controllers and more. - Made all Classic UI scanner view controllers subclasses of the new
SBSDKBaseScannerViewController
. - Added new component
SBSDKCheckRecognizerViewController
for scanning checks. - Added new component
SBSDKHealthInsuranceScannerViewController
for scanning health insurance cards. - Added new component
SBSDKMRZScannerViewController
for scanning machine-readable zones. - Added new component
SBSDKDocumentScannerViewController
for scanning documents. This is a simpler version of the soon to be deprecatedSBSDKScannerViewController
.
- Added a new base scanner view controller
- RTU-UI components:
- Refactored all RTU-UI components to make use of the new Classic UI components under the hood.
- Added new component
SBSDKUICheckRecognizerViewController
for scanning checks.
- Classic UI components:
- 🚀 Improvements:
- Beta: An improved Check Recognizer that now supports further bank layouts from different countries (e.g Kuwait, India, Australia). The recognizer is available as Classic and RTU UI components. Please note that this feature is still in beta. Furthermore, due to the renaming of the feature from "Cheque" to "Check", some classes and API methods have been renamed as well as new classes have been introduced. For more details please see the Breaking Changes.
- Improved 1D barcode recognition
- Improved generic document recognizer field validation
- 🐞 Bug fixes:
- Driver's license number is being validated now by its checksum.
- Medical certificates of type 1C are no longer recognized as 1A.
- ⚠️ Breaking Changes:
SBSDKLicensePlateScannerViewController
- removed property
showViewFinder
, please useviewFinderConfiguration.viewFinderEnabled
. - removed property
viewFinderBackgroundColor
, please useviewFinderConfiguration.backgroundColor
. - removed property
viewFinderLineColor
, please useviewFinderConfiguration.lineColor
. - removed property
viewFinderLineWidth
, please useviewFinderConfiguration.lineWidth
. - removed property
viewFinderMinimumInset
, please useviewFinderConfiguration.minimumInset
.
- removed property
SBSDKBarcodeScannerViewController
- replaced designated initializer with
- (nullable instancetype)initWithParentViewController:(nonnull UIViewController *)parentViewController parentView:(nullable UIView *)containerView delegate:(nullable id<SBSDKBarcodeScannerViewControllerDelegate>)delegate
. - In
SBSDKBarcodeScannerViewControllerDelegate
the function- (void)barcodeScannerController:(nonnull SBSDKBarcodeScannerViewController *)controller didDetectBarcodes:(nonnull NSArray<SBSDKBarcodeScannerResult *> *)codes;
is renamed to- (void)barcodeScannerController:(nonnull SBSDKBarcodeScannerViewController *)controller didDetectBarcodes:(nonnull NSArray<SBSDKBarcodeScannerResult *> *)codes onImage:(nonnull UIImage *)image;
. - removed property
HUDView
, please useoverlayView
. - removed property
cameraZoomRange
, please usezoomConfiguration.zoomRange
. - removed property
cameraZoomFactor
, please usezoomConfiguration.initialZoomFactor
. - removed property
doubleTapToZoomEnabled
, please usezoomConfiguration.doubleTapToZoomEnabled
. - removed property
pinchToZoomEnabled
, please usezoomConfiguration.pinchToZoomEnabled
. - removed property
shouldUseFinderFrame
. - removed property
finderAspectRatio
, please useviewFinderConfiguration.aspectRatio
. - removed property
finderMinimumInset
, please useviewFinderConfiguration.minimumInset
. - removed property
previewBackgroundColor
. - removed property
viewFinderBackgroundColor
, please useviewFinderConfiguration.backgroundColor
. - removed property
viewFinderLineColor
, please useviewFinderConfiguration.lineColor
. - removed property
viewFinderLineWidth
, please useviewFinderConfiguration.lineWidth
.
- replaced designated initializer with
SBSDKGenericTextLineRecognizerViewController
- removed property
finderMinimumInset
, please useviewFinderConfiguration.minimumInset
. - removed property
viewFinderBackgroundColor
, please useviewFinderConfiguration.backgroundColor
. - removed property
viewFinderLineColor
, please useviewFinderConfiguration.lineColor
. - removed property
viewFinderLineWidth
, please useviewFinderConfiguration.lineWidth
. - removed property
doubleTapToZoomEnabled
, please usezoomConfiguration.doubleTapToZoomEnabled
. - removed property
shouldAnimateZooming
, please usezoomConfiguration.shouldAnimateZooming
. - removed property
deviceMotionRecognitionDelay
. - removed function
toggleZoom
. - removed function
zoomIn
. - removed function
zoomOut
.
- removed property
SBSDKGenericDocumentRecognizerViewController
- removed property
showViewFinder
, please useviewFinderConfiguration.viewFinderEnabled
. - removed property
viewFinderBackgroundColor
, please useviewFinderConfiguration.backgroundColor
. - removed property
viewFinderLineColor
, please useviewFinderConfiguration.lineColor
. - removed property
viewFinderLineWidth
, please useviewFinderConfiguration.lineWidth
. - removed property
finderMinimumInset
, please useviewFinderConfiguration.minimumInset
.
- removed property
- Replaced
SBSDKFinderLayer
withSBSDKFinderView
. - Deprecated
SBSBDKScannerViewController
in favor ofSBSDKDocumentScannerViewController
. - Deprecated workflows, namely
SBSDKUIWorkflowScannerViewController
, its configurations andSBSDKUIWorkflowStep
, these will be removed from the SDK soon as they are not commonly used by our customers. - Removed the deprecated classes
SBSDKIDCardRecognizer
,SBSDKIDCardScannerViewController
,SBSDKUIIDCardScannerViewController
and their related classes, please use theSBSDKGenericDocument
-based API. - Renamed
SBSDKUIVideoContentMode
toSBSDKVideoContentMode
.
Version 1.26.2 (5 May 2022):
- 🎉 New:
- Added asynchronous, cancellable and progress-observable functions to
SBSDKPDFPagesExtractor
.
- Added asynchronous, cancellable and progress-observable functions to
- 🐞 Bug fixes:
- Fixed a bug with the viewfinder rectangle not being calculated correctly in landscape mode in
SBSDKBarcodeScannerViewController
.
- Fixed a bug with the viewfinder rectangle not being calculated correctly in landscape mode in
- 🚀 Improvements:
- Improved loading performance of
SBSDKImageEditingViewController
by executing the document detection concurrently. You can specify the queue for the document detection by setting the propertyprocessingQueue
before assigning an image. - Improved memory footprint of
SBSDKPDFPagesExtractor
.
- Improved loading performance of
Version 1.26.0 (7 April 2022):
- 🚀 Improvements:
- Major improvements on barcode detection.
- Improved barcode image cropping.
- Changed default OCR language in the health insurance card scanner to German for better recognition of umlauts.
- 🎉 New:
- Added a new property
topAndBottomButtonsSwapped
toSBSDKUICroppingScreenUIConfiguration
which enables the swapping of the top and bottom buttons inSBSDKUICroppingViewController
. - Added the
SBSDKUIDialogFactory
class to create iOS system-style alerts with extended functionality, e.g. displaying images. - Added the function tiffDataForImages:parameters: to get the TIFF image data in
SBSDKTIFFImageWriter
. - Added new checkbox types to the medical certificate recognizer, see
SBSDKMedicalCertificateRecognizerCheckboxType
.
- Added a new property
- ⚠️ Breaking Changes:
- Renamed
pageCounterAccessibilityHint
topageCounterButtonAccessibilityHint
inSBSDKUIDocumentScannerAccessibilityConfiguration
.
- Renamed
- 🚙 Under the hood:
- Since Swift is now module-stable, internal support for Swift was added. This allows us to implement future features using Swift with its extended robustness. Of course the Objective-C interoperability will still be maintained.
- Updated third-party library Boost to version 1.75.0
- Updated third-party library BoringSSL to commit 8f5eb80b
- Updated third-party library JSON for Modern C++ to version 3.10.2
- Updated third-party library Leptonica to version 1.82.0
- Updated third-party library libjpeg-turbo to version 2.1.2
- Updated third-party library libpng to version 1.6.36
- Updated third-party library libtiff to version 4.2.0
- Updated third-party library Nameof C++ to version 0.10.1
- Updated third-party library OpenCV to version 4.5.3
- Updated third-party library OpenSSL to version 1.1.1i
- Updated third-party library Skia to commit 47b4b19
- Updated third-party library spdlog to version 1.9.2
- Updated third-party library Tensorflow to version 2.6.1
- Updated third-party library Tesseract to version 4.1.3
- Updated third-party library XNNPACK to commit fb8d1f1b2
- Updated third-party library xsimd to commit 3d17850e
- Updated third-party library xtensor to commit be35a267
- Updated third-party library xtl to commit e0f00666
- Updated third-party library ZXing-C++ to version 1.1.0
- Updated third-party library G8Tesseract to commit bfc86ac
Version 1.25.1 (1 March 2022):
- 🐞 Bug fixes:
- Fixed a bug with wrong camera preview orientation when starting
SBSDKBarcodeScannerViewController
andSBSDKUIBarcodeScannerViewController
in landscape orientation.
- Fixed a bug with wrong camera preview orientation when starting
Version 1.25.0 (17 February 2022):
- 🎉 New:
- Added the ability to read and write PDF metadata from and to PDF files, see
SBSDKPDFMetadataProcessor
. - Added support for the GS1 barcode document format, see
SBSDKGS1DocumentFormat
. - Added the
SBSDKBarcodeDocumentParser
class which parses any given string for supported barcode document types. - Added new Classic UI component
SBSDKMedicalCertificateScannerViewController
and RTU-UI componentSBSDKUIMedicalCertificateScannerViewController
to scan medical certificates. - Added the ability to exclude certain fields from the generic document scanner's recognition process, see the
excludedFieldTypes
property inSBSDKGenericDocumentRecognizer
,SBSDKGenericDocumentRecognizerViewController
andSBSDKUIGenericDocumentRecognizerBehaviorConfiguration
.excludedFieldTypes
is an array of normalized names for the document field types, e.g.SBSDKGenericDocumentDeIdCardFrontPINFieldNormalizedName
. The full list of supported field types can be found inSBSDKGenericDocumentsModel.h
.
- Added the ability to read and write PDF metadata from and to PDF files, see