├── .github
└── ISSUE_TEMPLATE
│ └── config.yml
├── .gitignore
├── Advanced
└── DocumentReader-Swift
│ ├── DocumentReader-Swift.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── DocumentReader-Swift.xcscheme
│ ├── DocumentReader-Swift.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
│ ├── DocumentReader-Swift
│ ├── AdditionalScreens
│ │ ├── BarcodeListViewController.swift
│ │ ├── ChildViewController.swift
│ │ ├── CustomRfidViewController.swift
│ │ ├── GetValuesViewController.swift
│ │ ├── HelpViewController.swift
│ │ ├── TextFieldViewController.swift
│ │ └── TextViewController.swift
│ ├── AppDelegate.swift
│ ├── Certificates.bundle
│ │ └── icaopkd-002-ml-000131.ldif
│ ├── CertificatesPA.bundle
│ │ ├── CN=TEST CSCA FRA ECDSA256,C=FR.crt
│ │ └── ds.cer
│ ├── CertificatesTA.bundle
│ │ ├── FRCVCA_CC.cvCert
│ │ ├── FRCVCA_CC.pkcs8
│ │ ├── FRDV_CC.cvCert
│ │ ├── FRDV_CC.pkcs8
│ │ ├── FRIS_CC.cvCert
│ │ └── FRIS_CC.pkcs8
│ ├── DocumentReader-Swift.entitlements
│ ├── DocumentReaderService.swift
│ ├── Extensions
│ │ ├── AVCaptureDevicePosition+Extensions.swift
│ │ ├── BarcodeTypes+Extensions.swift
│ │ ├── CaptureMode+Extensions.swift
│ │ ├── DocFormat+Extensions.swift
│ │ ├── DocReaderFrame+Extensions.swift
│ │ ├── FieldType+Extensions.swift
│ │ ├── LCID+Extensions.swift
│ │ ├── MRZFormat+Extensions.swift
│ │ ├── MeasureSystem+Extensions.swift
│ │ ├── NSObject+ClassName.swift
│ │ ├── RFIDAccessControlProcedureType+Extensions.swift
│ │ └── ResultType+Extensions.swift
│ ├── Info.plist
│ ├── MainViewController.swift
│ ├── OnlineProcessing
│ │ └── OnlineProcessingViewController.swift
│ ├── Resources
│ │ ├── Assets.xcassets
│ │ │ ├── 1.imageset
│ │ │ │ ├── 1.png
│ │ │ │ └── Contents.json
│ │ │ ├── 2.imageset
│ │ │ │ ├── 2.png
│ │ │ │ └── Contents.json
│ │ │ ├── AccentColor.colorset
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ ├── big_close.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── icon_138.png
│ │ │ ├── camera.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── camera.png
│ │ │ ├── close-icon.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon_138.png
│ │ │ │ ├── icon_46.png
│ │ │ │ └── icon_92.png
│ │ │ ├── close.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── close.png
│ │ │ ├── collapse.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── collapse.png
│ │ │ ├── credit-card.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── credit-card.png
│ │ │ ├── expand.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── expand.png
│ │ │ ├── info
│ │ │ │ ├── Contents.json
│ │ │ │ ├── info_barcode.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── info_barcode.png
│ │ │ │ ├── info_mrz.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── info_mrz.png
│ │ │ │ └── info_viz.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── info_viz.png
│ │ │ ├── light-off.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── light-off.png
│ │ │ ├── light-on.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── light-on.png
│ │ │ ├── palette.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── capture.png
│ │ │ ├── rfid_icon.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── rfid_icon.png
│ │ │ ├── status_not_ok.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── status_not_ok.png
│ │ │ ├── status_ok.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── status_ok.png
│ │ │ ├── status_undefined.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── status_undefined.png
│ │ │ └── viewfinder.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── viewfinder.png
│ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── ir.bmp
│ │ ├── uv.bmp
│ │ └── white.bmp
│ ├── ResultsViewController
│ │ ├── Cells
│ │ │ ├── CheckResultCell.swift
│ │ │ ├── CheckResultCell.xib
│ │ │ ├── ImageCell.swift
│ │ │ ├── ImageCell.xib
│ │ │ ├── TextCell.swift
│ │ │ └── TextCell.xib
│ │ └── ResultsViewController.swift
│ ├── SettingsViewController
│ │ ├── Cells
│ │ │ ├── SettingsActionCell.swift
│ │ │ ├── SettingsActionCell.xib
│ │ │ ├── SettingsStepperCell.swift
│ │ │ ├── SettingsStepperCell.xib
│ │ │ ├── SettingsSwitchCell.swift
│ │ │ └── SettingsSwitchCell.xib
│ │ └── SettingsViewController.swift
│ ├── Shared
│ │ ├── ApplicationSettings.swift
│ │ ├── Constants.swift
│ │ ├── CustomUIModels.swift
│ │ ├── Types.swift
│ │ └── UserSettings.swift
│ ├── buttons.json
│ └── layer.json
│ ├── Podfile
│ └── README.md
├── BackendProcessing
├── BackendProcessing.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── BackendProcessing.xcworkspace
│ └── contents.xcworkspacedata
├── BackendProcessing
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── nfc_logo.imageset
│ │ │ ├── Contents.json
│ │ │ ├── rfid_icon copy-1.png
│ │ │ ├── rfid_icon copy-2.png
│ │ │ └── rfid_icon.png
│ ├── BackendProcessing.entitlements
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ └── ViewController.swift
├── Podfile
└── README.md
├── Basic
├── DocumentReaderObjectiveC-sample
│ ├── DocumentReaderObjectiveC-sample.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── DocumentReaderFullObjectiveC-sample.xcscheme
│ ├── DocumentReaderObjectiveC-sample.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ ├── DocumentReaderObjectiveC-sample
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets
│ │ │ └── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── DocumentReaderFullObjectiveC-sample.plist
│ │ ├── RGPreviewView.h
│ │ ├── RGPreviewView.m
│ │ ├── RGRecognizeImageViewController.h
│ │ ├── RGRecognizeImageViewController.m
│ │ ├── ViewController.h
│ │ ├── ViewController.m
│ │ └── main.m
│ ├── Podfile
│ └── README.md
├── DocumentReaderRFIDSwiftUISample
│ ├── DocumentReaderRFIDSwiftUISample.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ ├── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcuserdata
│ │ │ │ └── deposhe.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ └── xcuserdata
│ │ │ ├── deposhe.xcuserdatad
│ │ │ └── xcschemes
│ │ │ │ └── xcschememanagement.plist
│ │ │ └── serge.rylko.xcuserdatad
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ ├── DocumentReaderRFIDSwiftUISample.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ ├── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcuserdata
│ │ │ ├── deposhe.xcuserdatad
│ │ │ ├── UserInterfaceState.xcuserstate
│ │ │ └── xcdebugger
│ │ │ │ └── Breakpoints_v2.xcbkptlist
│ │ │ └── serge.rylko.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ ├── DocumentReaderRFIDSwiftUISample
│ │ ├── Assets.xcassets
│ │ │ ├── AccentColor.colorset
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── CameraView.swift
│ │ ├── ContentView.swift
│ │ ├── DocReader+Combine.swift
│ │ ├── DocumentReaderRFIDSwiftUISample.entitlements
│ │ ├── DocumentReaderRFIDSwiftUISampleApp.swift
│ │ ├── Info.plist
│ │ ├── Preview Content
│ │ │ └── Preview Assets.xcassets
│ │ │ │ └── Contents.json
│ │ ├── ReaderFacade.swift
│ │ ├── ResultsView.swift
│ │ └── UIApplication+Window.swift
│ ├── Podfile
│ └── README.md
├── DocumentReaderSwift-sample
│ ├── DocumentReaderFullSwift-sample.entitlements
│ ├── DocumentReaderSwift-sample.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ ├── DocumentReaderFullSwift-sample.xcscheme
│ │ │ └── Pod install.xcscheme
│ ├── DocumentReaderSwift-sample.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ ├── DocumentReaderSwift-sample
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ └── nfc_logo.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── rfid_icon copy-1.png
│ │ │ │ ├── rfid_icon copy-2.png
│ │ │ │ └── rfid_icon.png
│ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── DocumentReaderFullSwift-sample-Info.plist
│ │ ├── ViewController.swift
│ │ └── test.pdf
│ ├── Podfile
│ └── README.md
├── DocumentReaderSwiftUI-sample
│ ├── DocumentReaderSwiftUI-sample.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ ├── DocumentReaderSwiftUI-sample.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ ├── DocumentReaderSwiftUI-sample
│ │ ├── Assets.xcassets
│ │ │ ├── AccentColor.colorset
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── CameraView.swift
│ │ ├── DocReader+Combine.swift
│ │ ├── DocumentReaderSwiftUI_sampleApp.swift
│ │ ├── GalleryView.swift
│ │ ├── ImagePicker.swift
│ │ ├── MainView.swift
│ │ ├── Preview Content
│ │ │ └── Preview Assets.xcassets
│ │ │ │ └── Contents.json
│ │ ├── ReaderFacade.swift
│ │ └── ResultsView.swift
│ ├── Podfile
│ └── README.md
└── README.md
├── BleDevice
└── DocumentReaderSwiftBleLicense
│ ├── DocumentReaderSwiftBleLicense.entitlements
│ ├── DocumentReaderSwiftBleLicense.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── xcuserdata
│ │ └── deposhe.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
│ ├── DocumentReaderSwiftBleLicense.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ └── xcuserdata
│ │ └── deposhe.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
│ ├── DocumentReaderSwiftBleLicense
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── correct.imageset
│ │ │ ├── Contents.json
│ │ │ ├── correct.png
│ │ │ ├── correct@2x.png
│ │ │ └── correct@3x.png
│ │ ├── incorrect.imageset
│ │ │ ├── Contents.json
│ │ │ ├── incorrect.png
│ │ │ ├── incorrect@2x.png
│ │ │ └── incorrect@3x.png
│ │ └── portrait.imageset
│ │ │ ├── Contents.json
│ │ │ ├── portrait.png
│ │ │ ├── portrait@2x.png
│ │ │ └── portrait@3x.png
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── DocumentReaderSwiftBleLicense.entitlements
│ ├── Info.plist
│ ├── ScanViewController.swift
│ └── ViewController.swift
│ ├── Podfile
│ └── README.md
├── CertificatePinning
└── DocumentReaderCertificatePinning
│ ├── DocumentReaderCertificatePinning.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ ├── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcuserdata
│ │ │ └── serge.rylko.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── serge.rylko.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
│ ├── DocumentReaderCertificatePinning.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ └── xcuserdata
│ │ └── deposhe.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
│ ├── DocumentReaderCertificatePinning
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── SceneDelegate.swift
│ ├── ViewController.swift
│ └── mrz_sample.jpg
│ ├── Podfile
│ └── README.md
├── Database
└── DocumentReaderDatabase-sample
│ ├── DocumentReaderDatabase-sample.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── xcschemes
│ │ ├── DocumentReaderDatabase-sample.xcscheme
│ │ └── Pod install.xcscheme
│ ├── DocumentReaderDatabase-sample.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
│ ├── DocumentReaderDatabase-sample
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── nfc_logo.imageset
│ │ │ ├── Contents.json
│ │ │ ├── rfid_icon copy-1.png
│ │ │ ├── rfid_icon copy-2.png
│ │ │ └── rfid_icon.png
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── DocumentReaderDatabase-sample-Info.plist
│ └── ViewController.swift
│ ├── Podfile
│ └── README.md
├── OnlineProcessing
├── OnlineProcessing-With-License-Swift
│ ├── OnlineProcessing-With-License-Swift.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ ├── OnlineProcessing-With-License-Swift.xcworkspace
│ │ └── contents.xcworkspacedata
│ ├── OnlineProcessing-With-License-Swift
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ │ ├── AccentColor.colorset
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── ViewController.swift
│ ├── Podfile
│ └── README.md
├── OnlineProcessing-Without-License-Swift
│ ├── OnlineProcessing-Without-License-Swift.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ ├── OnlineProcessing-Without-License-Swift.xcworkspace
│ │ └── contents.xcworkspacedata
│ ├── OnlineProcessing-Without-License-Swift
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ │ ├── AccentColor.colorset
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── ViewController.swift
│ ├── Podfile
│ └── README.md
└── README.md
├── README.md
└── RfidCertificates
└── RfidCertificates-Default-Swift
├── Podfile
├── README.md
├── RfidCertificates-Default-Swift.xcodeproj
└── project.pbxproj
├── RfidCertificates-Default-Swift.xcworkspace
└── contents.xcworkspacedata
└── RfidCertificates-Default-Swift
├── AppDelegate.swift
├── Assets.xcassets
├── AccentColor.colorset
│ └── Contents.json
├── AppIcon.appiconset
│ └── Contents.json
└── Contents.json
├── Base.lproj
├── LaunchScreen.storyboard
└── Main.storyboard
├── Certificates.bundle
└── PKDML.000219.ldif
├── Constants.swift
├── Info.plist
├── PKDCertificate+Extensions.swift
├── RfidCertificates-Default-Swift.entitlements
└── ViewController.swift
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Submit a request
4 | url: https://support.regulaforensics.com/hc/requests/new?utm_source=github
5 | about: Submit any requests to Regula Support Team
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | Pods/
2 | Podfile.lock
3 | xcuserdata/
4 | db.dat
5 | regula.license
6 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/AdditionalScreens/BarcodeListViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BarcodeListViewController.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 10.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import DocumentReader
11 |
12 | let kBarcodeListCellId = "BarcodeListCell"
13 |
14 | class BarcodeListViewController: UIViewController {
15 | @IBOutlet weak var tableView: UITableView!
16 |
17 | var allItems: [BarcodeType] = []
18 | var selectedItems: [BarcodeType] = []
19 | var completion: (([BarcodeType]?) -> Void)?
20 |
21 | override func viewDidLoad() {
22 | super.viewDidLoad()
23 |
24 | navigationItem.title = "Do barcodes"
25 | tableView.dataSource = self
26 | tableView.delegate = self
27 | }
28 |
29 | override func viewWillDisappear(_ animated: Bool) {
30 | super.viewWillDisappear(animated)
31 |
32 | let result = (selectedItems.count > 0) ? selectedItems : nil
33 | completion?(result)
34 | }
35 | }
36 |
37 | extension BarcodeListViewController: UITableViewDataSource, UITableViewDelegate {
38 | func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
39 | return allItems.count
40 | }
41 |
42 | func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
43 | let cell = tableView.dequeueReusableCell(withIdentifier: kBarcodeListCellId, for: indexPath)
44 | let item = allItems[indexPath.row]
45 | cell.textLabel?.text = item.stringValue
46 | let isSelected = selectedItems.contains(item)
47 | cell.accessoryType = isSelected ? .checkmark : .none
48 | return cell
49 | }
50 |
51 | func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
52 | let item = allItems[indexPath.row]
53 | if let index = selectedItems.firstIndex(of: item) {
54 | selectedItems.remove(at: index)
55 | } else {
56 | selectedItems.append(item)
57 | }
58 | tableView.reloadRows(at: [indexPath], with: .automatic)
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/AdditionalScreens/HelpViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HelpViewController.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 24.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class HelpViewController: UIViewController {
12 | var infoImage: UIImage? = nil
13 | var infoText: String? = nil
14 |
15 | @IBOutlet weak var imageView: UIImageView!
16 | @IBOutlet weak var textView: UITextView!
17 |
18 | override func viewDidLoad() {
19 | super.viewDidLoad()
20 |
21 | imageView.image = infoImage
22 | textView.text = infoText
23 | }
24 |
25 | @IBAction func closeAction(_ sender: UIButton) {
26 | dismiss(animated: true, completion: nil)
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/AdditionalScreens/TextViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TextViewController.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 10.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class TextViewController: UIViewController {
12 | @IBOutlet weak var textView: UITextView!
13 |
14 | var initalValue: String = ""
15 | var completion: ((String) -> Void)?
16 |
17 | override func viewDidLoad() {
18 | super.viewDidLoad()
19 | textView.text = initalValue
20 | textView.layer.borderWidth = 1
21 | }
22 |
23 | override func viewWillDisappear(_ animated: Bool) {
24 | super.viewWillDisappear(animated)
25 | completion?(textView.text ?? "")
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 2/3/21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import DocumentReader
11 |
12 | @main
13 | class AppDelegate: UIResponder, UIApplicationDelegate {
14 |
15 | var window: UIWindow?
16 |
17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
18 |
19 | return true
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesPA.bundle/CN=TEST CSCA FRA ECDSA256,C=FR.crt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesPA.bundle/CN=TEST CSCA FRA ECDSA256,C=FR.crt
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesPA.bundle/ds.cer:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesPA.bundle/ds.cer
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesTA.bundle/FRCVCA_CC.cvCert:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesTA.bundle/FRCVCA_CC.cvCert
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesTA.bundle/FRCVCA_CC.pkcs8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesTA.bundle/FRCVCA_CC.pkcs8
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesTA.bundle/FRDV_CC.cvCert:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesTA.bundle/FRDV_CC.cvCert
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesTA.bundle/FRDV_CC.pkcs8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesTA.bundle/FRDV_CC.pkcs8
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesTA.bundle/FRIS_CC.cvCert:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesTA.bundle/FRIS_CC.cvCert
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesTA.bundle/FRIS_CC.pkcs8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/CertificatesTA.bundle/FRIS_CC.pkcs8
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/DocumentReader-Swift.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.developer.nfc.readersession.formats
6 |
7 | NDEF
8 | TAG
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/DocumentReaderService.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DocumentReaderService.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Pavel Kondrashkov on 03/12/2021.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import DocumentReader
10 |
11 | final class DocumentReaderService {
12 | enum State {
13 | case initializingAPI
14 | case completed
15 | case error(String)
16 | }
17 |
18 | static let shared = DocumentReaderService()
19 | private init() { }
20 |
21 | func deinitializeAPI() {
22 | DocReader.shared.deinitializeReader()
23 | }
24 |
25 | func initializeDatabaseAndAPI(progress: @escaping (State) -> Void) {
26 | guard let dataPath = Bundle.main.path(forResource: kRegulaLicenseFile, ofType: nil) else {
27 | progress(.error("Missing Licence File in Bundle"))
28 | return
29 | }
30 | guard let licenseData = try? Data(contentsOf: URL(fileURLWithPath: dataPath)) else {
31 | progress(.error("Missing Licence File in Bundle"))
32 | return
33 | }
34 |
35 | let config = DocReader.Config(license: licenseData)
36 | DocReader.shared.initializeReader(config: config, completion: { (success, error) in
37 | DispatchQueue.main.async {
38 | progress(.initializingAPI)
39 | if success {
40 | progress(.completed)
41 | } else {
42 | progress(.error("Initialization error: \(error?.localizedDescription ?? "nil")"))
43 | }
44 | }
45 | })
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Extensions/AVCaptureDevicePosition+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AVCaptureDevicePosition+Extensions.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 11.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import AVFoundation
10 |
11 | extension AVCaptureDevice.Position {
12 | var stringValue: String {
13 | switch self {
14 | case .unspecified:
15 | return ".unspecified"
16 | case .back:
17 | return ".back"
18 | case .front:
19 | return ".front"
20 | @unknown default:
21 | return ""
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Extensions/BarcodeTypes+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BarcodeTypes+Extensions.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 9.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import DocumentReader
10 |
11 | extension BarcodeType {
12 | // BarcodeType enum in API written on Objective-C, we can't use CaseIterable
13 | static var allCases: [BarcodeType] {
14 | let first = BarcodeType.unknown.rawValue
15 | let last = BarcodeType.code11.rawValue
16 | var result: [BarcodeType] = []
17 | for value in first...last {
18 | result.append(BarcodeType.init(rawValue: value)!)
19 | }
20 | return result
21 | }
22 |
23 | var stringValue: String {
24 | switch self {
25 | case .unknown:
26 | return ".unknown"
27 | case .code128:
28 | return ".code128"
29 | case .code39:
30 | return ".code39"
31 | case .EAN8:
32 | return ".EAN8"
33 | case .ITF:
34 | return ".ITF"
35 | case .PDF417:
36 | return ".PDF417"
37 | case .STF:
38 | return ".STF"
39 | case .MTF:
40 | return ".MTF"
41 | case .IATA:
42 | return ".IATA"
43 | case .CODABAR:
44 | return ".CODABAR"
45 | case .UPCA:
46 | return ".UPCA"
47 | case .CODE93:
48 | return ".CODE93"
49 | case .UPCE:
50 | return ".UPCE"
51 | case .EAN13:
52 | return ".EAN13"
53 | case .QRCODE:
54 | return ".QRCODE"
55 | case .AZTEC:
56 | return ".AZTEC"
57 | case .DATAMATRIX:
58 | return ".DATAMATRIX"
59 | case .ALL_1D:
60 | return ".ALL_1D"
61 | case .code11:
62 | return ".code11"
63 | @unknown default:
64 | return ""
65 | }
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Extensions/CaptureMode+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CaptureMode+Extensions.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 11.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import DocumentReader
10 |
11 | extension CaptureMode {
12 | var stringValue: String {
13 | switch self {
14 | case .auto:
15 | return ".auto"
16 | case .captureVideo:
17 | return ".captureVideo"
18 | case .captureFrame:
19 | return ".captureFrame"
20 | @unknown default:
21 | return ""
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Extensions/DocFormat+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DocumentReaderDocumentType+Extesions.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Pavel Kondrashkov on 9/14/21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import DocumentReader
10 |
11 | extension DocFormat: CaseIterable {
12 | public typealias AllCases = [DocFormat]
13 |
14 | public static var allCases: [DocFormat] = [
15 | .ID1,
16 | .ID2,
17 | .ID3,
18 | .NON,
19 | .A4,
20 | .id3_x2,
21 | .id2_Turkey,
22 | .ID1_90,
23 | .ID1_180,
24 | .ID1_270,
25 | .ID2_180,
26 | .ID3_180,
27 | .custom,
28 | .photo,
29 | .flexible,
30 | ]
31 | }
32 |
33 | extension DocFormat: LosslessStringConvertible {
34 | public var description: String {
35 | switch self {
36 | case .ID1: return "ID1"
37 | case .ID2: return "ID2"
38 | case .ID3: return "ID3"
39 | case .NON: return "NON"
40 | case .A4: return "A4"
41 | case .id3_x2: return "id3_x2"
42 | case .id2_Turkey: return "id2_Turkey"
43 | case .ID1_90: return "ID1_90"
44 | case .ID1_180: return "ID1_180"
45 | case .ID1_270: return "ID1_270"
46 | case .ID2_180: return "ID2_180"
47 | case .ID3_180: return "ID3_180"
48 | case .custom: return "custom"
49 | case .photo: return "photo"
50 | case .flexible: return "flexible"
51 | case .unknown: return "unknown"
52 | @unknown default:
53 | fatalError()
54 | }
55 | }
56 |
57 | public init?(_ description: String) {
58 | guard let match = Self.allCases.first(where: { $0.description == description }) else {
59 | return nil
60 | }
61 | self.init(rawValue: match.rawValue)
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Extensions/DocReaderFrame+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DocReaderFrame+Extensions.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 12.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import DocumentReader
10 |
11 | extension DocReaderFrame {
12 | var stringValue: String {
13 | switch self {
14 | case .none:
15 | return ".none"
16 | case .scenarioDefault:
17 | return ".scenarioDefault"
18 | case .max:
19 | return ".max"
20 | case .document:
21 | return ".document"
22 | @unknown default:
23 | return ""
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Extensions/MRZFormat+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MRZFormat+Extensions.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Pavel Kondrashkov on 9/21/21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import DocumentReader
10 |
11 | extension MRZFormat: CaseIterable {
12 | public typealias AllCases = [MRZFormat]
13 |
14 | public static var allCases: [MRZFormat] = [
15 | .IDL,
16 | .ID1,
17 | .ID2,
18 | .ID3,
19 | .CAN,
20 | .ID1_2_30,
21 | ]
22 | }
23 |
24 | extension MRZFormat: LosslessStringConvertible {
25 | public var description: String {
26 | switch self {
27 | case .IDL: return "IDL"
28 | case .ID1: return "ID1"
29 | case .ID2: return "ID2"
30 | case .ID3: return "ID3"
31 | case .CAN: return "CAN"
32 | case .ID1_2_30: return "ID1_2_30"
33 | @unknown default:
34 | fatalError()
35 | }
36 | }
37 |
38 | public init?(_ description: String) {
39 | guard let match = Self.allCases.first(where: { $0.description == description }) else {
40 | return nil
41 | }
42 | self.init(rawValue: match.rawValue)
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Extensions/MeasureSystem+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MeasureSystem+Extensions.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 11.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import DocumentReader
10 |
11 | extension MeasureSystem {
12 | var stringValue: String {
13 | switch self {
14 | case .metric:
15 | return ".metric"
16 | case .imperial:
17 | return ".imperial"
18 | @unknown default:
19 | return ""
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Extensions/NSObject+ClassName.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSObject+ClassName.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Pavel Kondrashkov on 9/13/21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol HasClassName {
12 | static var className: String { get }
13 | var className: String { get }
14 | }
15 |
16 | extension HasClassName {
17 | static var className: String {
18 | String(describing: self)
19 | }
20 |
21 | var className: String {
22 | type(of: self).className
23 | }
24 | }
25 |
26 | extension NSObject: HasClassName {}
27 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Extensions/RFIDAccessControlProcedureType+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RFIDAccessControlProcedureType+Extensions.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 24.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import DocumentReader
10 |
11 | extension RFIDAccessControlProcedureType {
12 | var stringValue: String {
13 | switch self {
14 | case .undefined:
15 | return "Undefined"
16 | case .bac:
17 | return "BAC"
18 | case .pace:
19 | return "PACE"
20 | case .ca:
21 | return "CA"
22 | case .ta:
23 | return "TA"
24 | case .aa:
25 | return "AA"
26 | case .ri:
27 | return "RI"
28 | case .cardInfo:
29 | return "CARD INFO"
30 | @unknown default:
31 | return ""
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/1.imageset/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/1.imageset/1.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "1.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/2.imageset/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/2.imageset/2.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "2.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "scale" : "2x",
6 | "size" : "20x20"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "scale" : "3x",
11 | "size" : "20x20"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "scale" : "2x",
16 | "size" : "29x29"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "scale" : "3x",
21 | "size" : "29x29"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "scale" : "2x",
26 | "size" : "40x40"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "scale" : "3x",
31 | "size" : "40x40"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "scale" : "2x",
36 | "size" : "60x60"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "scale" : "3x",
41 | "size" : "60x60"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "scale" : "1x",
46 | "size" : "20x20"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "scale" : "2x",
51 | "size" : "20x20"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "scale" : "1x",
56 | "size" : "29x29"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "scale" : "2x",
61 | "size" : "29x29"
62 | },
63 | {
64 | "idiom" : "ipad",
65 | "scale" : "1x",
66 | "size" : "40x40"
67 | },
68 | {
69 | "idiom" : "ipad",
70 | "scale" : "2x",
71 | "size" : "40x40"
72 | },
73 | {
74 | "idiom" : "ipad",
75 | "scale" : "1x",
76 | "size" : "76x76"
77 | },
78 | {
79 | "idiom" : "ipad",
80 | "scale" : "2x",
81 | "size" : "76x76"
82 | },
83 | {
84 | "idiom" : "ipad",
85 | "scale" : "2x",
86 | "size" : "83.5x83.5"
87 | },
88 | {
89 | "idiom" : "ios-marketing",
90 | "scale" : "1x",
91 | "size" : "1024x1024"
92 | }
93 | ],
94 | "info" : {
95 | "author" : "xcode",
96 | "version" : 1
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/big_close.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "icon_138.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/big_close.imageset/icon_138.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/big_close.imageset/icon_138.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/camera.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "camera.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/camera.imageset/camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/camera.imageset/camera.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/close-icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "icon_46.png",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "filename" : "icon_92.png",
10 | "idiom" : "universal",
11 | "scale" : "2x"
12 | },
13 | {
14 | "filename" : "icon_138.png",
15 | "idiom" : "universal",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "author" : "xcode",
21 | "version" : 1
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/close-icon.imageset/icon_138.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/close-icon.imageset/icon_138.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/close-icon.imageset/icon_46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/close-icon.imageset/icon_46.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/close-icon.imageset/icon_92.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/close-icon.imageset/icon_92.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/close.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "close.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/close.imageset/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/close.imageset/close.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/collapse.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "collapse.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/collapse.imageset/collapse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/collapse.imageset/collapse.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/credit-card.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "credit-card.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/credit-card.imageset/credit-card.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/credit-card.imageset/credit-card.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/expand.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "expand.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/expand.imageset/expand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/expand.imageset/expand.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/info/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/info/info_barcode.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "info_barcode.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/info/info_barcode.imageset/info_barcode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/info/info_barcode.imageset/info_barcode.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/info/info_mrz.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "info_mrz.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/info/info_mrz.imageset/info_mrz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/info/info_mrz.imageset/info_mrz.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/info/info_viz.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "info_viz.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/info/info_viz.imageset/info_viz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/info/info_viz.imageset/info_viz.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/light-off.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "light-off.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/light-off.imageset/light-off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/light-off.imageset/light-off.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/light-on.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "light-on.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/light-on.imageset/light-on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/light-on.imageset/light-on.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/palette.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "capture.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/palette.imageset/capture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/palette.imageset/capture.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/rfid_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "rfid_icon.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/rfid_icon.imageset/rfid_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/rfid_icon.imageset/rfid_icon.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/status_not_ok.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "status_not_ok.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/status_not_ok.imageset/status_not_ok.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/status_not_ok.imageset/status_not_ok.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/status_ok.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "status_ok.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/status_ok.imageset/status_ok.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/status_ok.imageset/status_ok.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/status_undefined.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "status_undefined.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/status_undefined.imageset/status_undefined.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/status_undefined.imageset/status_undefined.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/viewfinder.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "viewfinder.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/viewfinder.imageset/viewfinder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Assets.xcassets/viewfinder.imageset/viewfinder.png
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/ir.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/ir.bmp
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/uv.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/uv.bmp
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/white.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Advanced/DocumentReader-Swift/DocumentReader-Swift/Resources/white.bmp
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/ResultsViewController/Cells/CheckResultCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CheckResultCell.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 11.01.24.
6 | // Copyright © 2024 Regula. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class CheckResultCell: UITableViewCell {
12 | @IBOutlet weak var resultLabel: UILabel!
13 | }
14 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/ResultsViewController/Cells/ImageCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ImageCell.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 2/4/21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class ImageCell: UITableViewCell {
12 | @IBOutlet weak var titleLabel: UILabel!
13 | @IBOutlet weak var rawImageView: UIImageView!
14 | }
15 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/ResultsViewController/Cells/TextCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TextCell.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 2/4/21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class TextCell: UITableViewCell {
12 | @IBOutlet weak var titleLabel: UILabel!
13 | @IBOutlet weak var valueLabel: UILabel!
14 | @IBOutlet weak var lcidLabel: UILabel!
15 | @IBOutlet weak var pageIndexLabel: UILabel!
16 | }
17 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/SettingsViewController/Cells/SettingsActionCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SettingsActionCell.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 10.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class SettingsActionCell: UITableViewCell {
12 | @IBOutlet weak var titleLabel: UILabel!
13 | @IBOutlet weak var valueLabel: UILabel!
14 |
15 | var onPressAction: ((SettingsActionCell) -> Void)?
16 |
17 | override func awakeFromNib() {
18 | super.awakeFromNib()
19 | let tapGesture = UITapGestureRecognizer(target: self, action: #selector(tapGestureAction(_:)))
20 | addGestureRecognizer(tapGesture)
21 | }
22 |
23 | func configure(title: String, value: String) {
24 | titleLabel.text = title
25 | valueLabel.text = value
26 | }
27 |
28 | @objc func tapGestureAction(_ sender: UITapGestureRecognizer) {
29 | onPressAction?(self)
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/SettingsViewController/Cells/SettingsStepperCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SettingsStepperCell.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 9.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | protocol SettingsStepperCellDelegate: AnyObject {
12 | func valueChangedFor(_ item: SettingsIntItem?, _ value: Int) -> Void
13 | }
14 |
15 | class SettingsStepperCell: UITableViewCell {
16 | @IBOutlet weak var titleLabel: UILabel!
17 | @IBOutlet weak var stepperControl: UIStepper!
18 | @IBOutlet weak var valueLabel: UILabel!
19 |
20 | weak var delegate: SettingsStepperCellDelegate? = nil
21 | var item: SettingsIntItem? = nil {
22 | didSet {
23 | guard let item = item else { return }
24 | titleLabel.text = item.title
25 | stepperControl.value = Double(item.getter())
26 | valueLabel.text = String(format: item.format, arguments: [item.getter()])
27 | }
28 | }
29 |
30 | override func awakeFromNib() {
31 | super.awakeFromNib()
32 | stepperControl.addTarget(self, action: #selector(stepperAction(_:)),
33 | for: .valueChanged)
34 | }
35 |
36 | @objc func stepperAction(_ sender: UIStepper!) {
37 | guard let item = item else { return }
38 | delegate?.valueChangedFor(item, Int(sender.value))
39 | valueLabel.text = String(format: item.format, arguments: [item.getter()])
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/SettingsViewController/Cells/SettingsSwitchCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SettingsSwitchCell.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 9.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | protocol SettingsSwitchCellDelegate: AnyObject {
12 | func stateChangedFor(_ item: SettingsBoolItem?, _ isOn: Bool) -> Void
13 | }
14 |
15 | class SettingsSwitchCell: UITableViewCell {
16 | @IBOutlet weak var titleLabel: UILabel!
17 | @IBOutlet weak var switchControl: UISwitch!
18 |
19 | weak var delegate: SettingsSwitchCellDelegate? = nil
20 | var item: SettingsBoolItem? = nil {
21 | didSet {
22 | guard let item = item else { return }
23 | titleLabel.text = item.title
24 | switchControl.setOn(item.getter(), animated: true)
25 | }
26 | }
27 |
28 | override func awakeFromNib() {
29 | super.awakeFromNib()
30 | switchControl.addTarget(self, action: #selector(switchAction(_:)),
31 | for: .valueChanged)
32 | }
33 |
34 | @objc func switchAction(_ sender: UISwitch!) {
35 | delegate?.stateChangedFor(item, sender.isOn)
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Shared/ApplicationSettings.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ApplicationSettings.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 9.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import DocumentReader
11 |
12 | // Helper class for holding settings
13 | class ApplicationSettings {
14 | static var shared: ApplicationSettings = ApplicationSettings()
15 |
16 | var isRfidEnabled: Bool = false
17 | var useCustomRfidController: Bool = false
18 |
19 | var functionality: Functionality = Functionality()
20 | }
21 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Shared/Constants.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Constants.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 10.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | let kRegulaLicenseFile = "regula.license"
12 | let kRegulaDatabaseId = "Full"
13 |
14 | let kMainStoryboardId = "Main"
15 |
16 | let kActionTableViewCellId = "ActionTableViewCell"
17 | let kCustomRfidViewController = "CustomRfidViewController"
18 | let kChildViewController = "ChildViewController"
19 | let kResultsViewControllerId = "ResultsViewController"
20 | let kSettingsViewControllerId = "SettingsViewController"
21 | let kHelpViewControllerId = "HelpViewController"
22 | let kBarcodeListViewControllerId = "BarcodeListViewController"
23 | let kTextFieldViewControllerId = "TextFieldViewController"
24 | let kTextViewControllerId = "TextViewController"
25 | let kGetValuesViewControllerId = "GetValuesViewController"
26 |
27 | let kTextCellId = "TextCell"
28 | let kImageCellId = "ImageCell"
29 | let kComparisonCellId = "ComparisonCell"
30 | let kFieldCellId = "FieldCell"
31 | let kRfidStatusCellId = "RfidStatusCell"
32 | let kCheckResultCellId = "CheckResultCell"
33 |
34 | let kInfoTextMrz = """
35 | MRZ
36 |
37 | The Machine Readable Zone (MRZ) provides a set of essential data elements in a format, standardized for each type of a Machine Readable Travel Document (MRTD), that can be used by all receiving States regardless of their national script or customs. The data in the MRZ are formatted in such a way as to be readable by machines with standard capability worldwide.
38 | """
39 |
40 | let kInfoTextViz = """
41 | VIZ
42 |
43 | The Visual Inspection Zone (VIZ) of a Machine Readable Travel Document (MRTD) comprises the mandatory and optional data elements designed for visual inspection.
44 | """
45 |
46 | let kInfoTextBarcode = """
47 | Barcode
48 |
49 | Barcode is a means of storing data as a pattern of lines or dots.
50 | """
51 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Shared/CustomUIModels.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CustomUIModels.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 20.05.22.
6 | // Copyright © 2022 Regula. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct CustomUILayerModel: Codable {
12 | var objects: [Object]
13 | }
14 |
15 | struct Object: Codable {
16 | var label: Label
17 | }
18 |
19 | struct Label: Codable {
20 | var text, fontStyle, fontColor: String
21 | let fontSize: Int
22 | let alignment, background: String
23 | let borderRadius: Int
24 | let padding: Padding
25 | var position: Position
26 | let margin: Margin
27 | }
28 |
29 | struct Margin: Codable {
30 | let start, end: Int
31 | }
32 |
33 | struct Padding: Codable {
34 | let start, end, top, bottom: Int
35 | }
36 |
37 | struct Position: Codable {
38 | var v: Double
39 | }
40 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/DocumentReader-Swift/Shared/UserSettings.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UserSettings.swift
3 | // DocumentReader-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 9.02.21.
6 | // Copyright © 2021 Regula. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import DocumentReader
11 |
12 | // Helper class for holding settings
13 | class ApplicationSettings {
14 | static var shared: ApplicationSettings = ApplicationSettings()
15 |
16 | var isDataEncryptionEnabled: Bool = false
17 | var isRfidEnabled: Bool = false
18 | var useCustomRfidController: Bool = false
19 |
20 | var functionality: Functionality = DocReader.shared.functionality
21 | }
22 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/Podfile:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 | platform :ios, '13.0'
4 | use_frameworks!
5 |
6 | target 'DocumentReader-Swift' do
7 | pod 'DocumentReader', '~> 7.7.0'
8 | pod 'DocumentReaderFullRFID', '~> 7.7.0'
9 | end
10 |
--------------------------------------------------------------------------------
/Advanced/DocumentReader-Swift/README.md:
--------------------------------------------------------------------------------
1 | [](http://cocoapods.org/pods/DocumentReader)
2 | [](http://cocoapods.org/pods/DocumentReader)
3 | [](http://cocoapods.org/pods/DocumentReader)
4 |
5 | # Document Reader SDK Advanced Sample Project (iOS)
6 |
7 | * [Overview](#overview)
8 | * [Installation](#installation)
9 | * [Documentation](#documentation)
10 | * [Demo Application](#demo-application)
11 | * [Technical Support](#technical-support)
12 | * [Business Enquiries](#business-enquiries)
13 |
14 | ## Overview
15 |
16 | Sample project in Swift, demonstrating the Document Reader SDK configuration and customization options.
17 |
18 | ## Installation
19 |
20 | 1. Download or clone the current repository using the command `git clone https://github.com/regulaforensics/DocumentReader-iOS.git`
21 | 2. Open the `DocumentReader-Swift` project in an IDE.
22 | 3. Run pods `pod install`.
23 | 4. Add license and database files to the target:
24 | - Visit [Regula Client Portal](https://client.regulaforensics.com/) to get a trial license (`regula.license` file). The license creation wizard will guide you through the necessary steps.
25 | - Copy the license file to the project: `Advanced/DocumentReader-Swift/DocumentReader-Swift/`
26 | - Copy the database file `db.dat` from [Regula Client Portal](https://client.regulaforensics.com/customer/databases) to the project: `Advanced/DocumentReader-Swift/DocumentReader-Swift/`
27 | 5. Change the application Bundle ID to the one you have specified during the registration at [Regula Client Portal](https://client.regulaforensics.com/).
28 |
29 | ## Documentation
30 |
31 | Document Reader SDK Mobile Documentation
32 |
33 | ## Demo Application
34 |
35 | Regula Document Reader iOS Demo Application in the App Store
36 |
37 | ## Technical Support
38 |
39 | To submit a request to the Support Team, visit Regula Help Center.
40 |
41 | ## Business Enquiries
42 |
43 | To discuss business opportunities, fill the Enquiry Form and specify your scenarios, applications, and technical requirements.
--------------------------------------------------------------------------------
/BackendProcessing/BackendProcessing.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/BackendProcessing/BackendProcessing.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/BackendProcessing/BackendProcessing/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // BackendProcessing
4 | //
5 | // Created by Dmitry Evglevsky on 20.02.24.
6 | //
7 |
8 | import UIKit
9 |
10 | @main
11 | class AppDelegate: UIResponder, UIApplicationDelegate {
12 |
13 | var window: UIWindow?
14 |
15 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
16 | // Override point for customization after application launch.
17 | return true
18 | }
19 |
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/BackendProcessing/BackendProcessing/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/BackendProcessing/BackendProcessing/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "platform" : "ios",
6 | "size" : "1024x1024"
7 | }
8 | ],
9 | "info" : {
10 | "author" : "xcode",
11 | "version" : 1
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/BackendProcessing/BackendProcessing/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/BackendProcessing/BackendProcessing/Assets.xcassets/nfc_logo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "rfid_icon copy-2.png",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "filename" : "rfid_icon.png",
10 | "idiom" : "universal",
11 | "scale" : "2x"
12 | },
13 | {
14 | "filename" : "rfid_icon copy-1.png",
15 | "idiom" : "universal",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "author" : "xcode",
21 | "version" : 1
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/BackendProcessing/BackendProcessing/Assets.xcassets/nfc_logo.imageset/rfid_icon copy-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/BackendProcessing/BackendProcessing/Assets.xcassets/nfc_logo.imageset/rfid_icon copy-1.png
--------------------------------------------------------------------------------
/BackendProcessing/BackendProcessing/Assets.xcassets/nfc_logo.imageset/rfid_icon copy-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/BackendProcessing/BackendProcessing/Assets.xcassets/nfc_logo.imageset/rfid_icon copy-2.png
--------------------------------------------------------------------------------
/BackendProcessing/BackendProcessing/Assets.xcassets/nfc_logo.imageset/rfid_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/BackendProcessing/BackendProcessing/Assets.xcassets/nfc_logo.imageset/rfid_icon.png
--------------------------------------------------------------------------------
/BackendProcessing/BackendProcessing/BackendProcessing.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.developer.nfc.readersession.formats
6 |
7 | TAG
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/BackendProcessing/BackendProcessing/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/BackendProcessing/BackendProcessing/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIApplicationSceneManifest
6 |
7 | UIApplicationSupportsMultipleScenes
8 |
9 |
10 | com.apple.developer.nfc.readersession.iso7816.select-identifiers
11 |
12 | A0000002471001
13 | E80704007F00070302
14 | A000000167455349474E
15 | A0000002480100
16 | A0000002480200
17 | A0000002480300
18 | A00000045645444C2D3031
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/BackendProcessing/Podfile:
--------------------------------------------------------------------------------
1 | platform :ios, '13.0'
2 | use_frameworks!
3 |
4 | target 'BackendProcessing' do
5 | pod 'DocumentReader', '~> 7.7.0'
6 | pod 'DocumentReaderFullRFID', '~> 7.7.0'
7 | end
8 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // DocumentReaderObjectiveC-sample
4 | //
5 | // Created by Dmitry Smolyakov on 3/19/18.
6 | // Copyright © 2018 Dmitry Smolyakov. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample/AppDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.m
3 | // DocumentReaderObjectiveC-sample
4 | //
5 | // Created by Dmitry Smolyakov on 3/19/18.
6 | // Copyright © 2018 Dmitry Smolyakov. All rights reserved.
7 | //
8 |
9 | #import "AppDelegate.h"
10 |
11 | @interface AppDelegate ()
12 |
13 | @end
14 |
15 | @implementation AppDelegate
16 |
17 |
18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
19 | // Override point for customization after application launch.
20 | return YES;
21 | }
22 |
23 |
24 | - (void)applicationWillResignActive:(UIApplication *)application {
25 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
26 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
27 | }
28 |
29 |
30 | - (void)applicationDidEnterBackground:(UIApplication *)application {
31 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
32 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
33 | }
34 |
35 |
36 | - (void)applicationWillEnterForeground:(UIApplication *)application {
37 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
38 | }
39 |
40 |
41 | - (void)applicationDidBecomeActive:(UIApplication *)application {
42 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
43 | }
44 |
45 |
46 | - (void)applicationWillTerminate:(UIApplication *)application {
47 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
48 | }
49 |
50 |
51 | @end
52 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "40x40",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "40x40",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "2x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "size" : "60x60",
41 | "scale" : "3x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "20x20",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "20x20",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "29x29",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "29x29",
61 | "scale" : "2x"
62 | },
63 | {
64 | "idiom" : "ipad",
65 | "size" : "40x40",
66 | "scale" : "1x"
67 | },
68 | {
69 | "idiom" : "ipad",
70 | "size" : "40x40",
71 | "scale" : "2x"
72 | },
73 | {
74 | "idiom" : "ipad",
75 | "size" : "76x76",
76 | "scale" : "1x"
77 | },
78 | {
79 | "idiom" : "ipad",
80 | "size" : "76x76",
81 | "scale" : "2x"
82 | },
83 | {
84 | "idiom" : "ipad",
85 | "size" : "83.5x83.5",
86 | "scale" : "2x"
87 | },
88 | {
89 | "idiom" : "ios-marketing",
90 | "size" : "1024x1024",
91 | "scale" : "1x"
92 | }
93 | ],
94 | "info" : {
95 | "version" : 1,
96 | "author" : "xcode"
97 | }
98 | }
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample/DocumentReaderFullObjectiveC-sample.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 | LSRequiresIPhoneOS
22 |
23 | NSCameraUsageDescription
24 | Capture photo
25 | NSPhotoLibraryUsageDescription
26 | Get image from gallery
27 | UILaunchStoryboardName
28 | LaunchScreen
29 | UIMainStoryboardFile
30 | Main
31 | UIRequiredDeviceCapabilities
32 |
33 | armv7
34 |
35 | UISupportedInterfaceOrientations
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationLandscapeLeft
39 | UIInterfaceOrientationLandscapeRight
40 |
41 | UISupportedInterfaceOrientations~ipad
42 |
43 | UIInterfaceOrientationPortrait
44 | UIInterfaceOrientationPortraitUpsideDown
45 | UIInterfaceOrientationLandscapeLeft
46 | UIInterfaceOrientationLandscapeRight
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample/RGPreviewView.h:
--------------------------------------------------------------------------------
1 | //
2 | // RGPreviewView.h
3 | // DocumentReaderExample
4 | //
5 | // Created by Dmitry Smolyakov on 2/13/20.
6 | // Copyright © 2020 Regula. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface RGPreviewView : UIView
13 |
14 | @property(nonatomic,readonly,strong) AVCaptureVideoPreviewLayer *videoPreviewLayer;
15 | @property(nonatomic,readwrite,strong) AVCaptureSession *session;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample/RGPreviewView.m:
--------------------------------------------------------------------------------
1 | //
2 | // RGPreviewView.m
3 | // DocumentReaderExample
4 | //
5 | // Created by Dmitry Smolyakov on 2/13/20.
6 | // Copyright © 2020 Regula. All rights reserved.
7 | //
8 |
9 | #import "RGPreviewView.h"
10 |
11 | @implementation RGPreviewView
12 |
13 | - (instancetype)init
14 | {
15 | self = [super init];
16 | if (self) {
17 | _videoPreviewLayer = (AVCaptureVideoPreviewLayer *) self.layer;
18 | }
19 | return self;
20 | }
21 |
22 | - (void)setSession:(AVCaptureSession *)session {
23 | self.videoPreviewLayer.session = session;
24 | }
25 |
26 | - (AVCaptureSession *)session {
27 | return self.videoPreviewLayer.session;
28 | }
29 |
30 | + (Class)layerClass {
31 | return [AVCaptureVideoPreviewLayer self];
32 | }
33 |
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample/RGRecognizeImageViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // RGRecognizeImageViewController.h
3 | // DocumentReaderExample
4 | //
5 | // Created by Dmitry Smolyakov on 7/20/20.
6 | // Copyright © 2020 Regula. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "RGPreviewView.h"
11 | @import DocumentReader;
12 |
13 | typedef NS_ENUM(NSInteger, RGSessionSetupResult) {
14 | RGSessionSetupResultSuccess,
15 | RGSessionSetupResultNotAuthorized,
16 | RGSessionSetupResultConfigurationFailed
17 | } NS_SWIFT_NAME(SessionSetupResult);
18 |
19 | @class RGRecognizeImageViewController;
20 |
21 | @protocol RGRecognizeImageViewController
22 |
23 | - (void)recognizeDidFinishedWith:(RGLDocumentReaderResults * _Nullable)results
24 | viewController:(RGRecognizeImageViewController * _Nonnull)viewController;
25 |
26 | @end
27 |
28 | @interface RGRecognizeImageViewController : UIViewController
29 |
30 | @property(nonatomic, weak, nullable) id delegate;
31 |
32 | @property(nonatomic, strong, nullable) NSString *selectedScenario;
33 |
34 | @end
35 |
36 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // DocumentReaderObjectiveC-sample
4 | //
5 | // Created by Dmitry Smolyakov on 3/19/18.
6 | // Copyright © 2018 Dmitry Smolyakov. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // DocumentReaderObjectiveC-sample
4 | //
5 | // Created by Dmitry Smolyakov on 3/19/18.
6 | // Copyright © 2018 Dmitry Smolyakov. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "AppDelegate.h"
11 |
12 | int main(int argc, char * argv[]) {
13 | @autoreleasepool {
14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/Podfile:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 | platform :ios, '13.0'
4 |
5 | target 'DocumentReaderFullObjectiveC-sample' do
6 | pod 'DocumentReader', '~> 7.7.0'
7 | pod 'DocumentReaderFullRFID', '~> 7.7.0'
8 | end
9 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderObjectiveC-sample/README.md:
--------------------------------------------------------------------------------
1 | [](http://cocoapods.org/pods/DocumentReader)
2 | [](http://cocoapods.org/pods/DocumentReader)
3 | [](http://cocoapods.org/pods/DocumentReader)
4 |
5 | # Basic Objective-C Sample Project (iOS)
6 |
7 | * [Overview](#overview)
8 | * [Installation](#installation)
9 | * [Documentation](#documentation)
10 | * [Demo Application](#demo-application)
11 | * [Technical Support](#technical-support)
12 | * [Business Enquiries](#business-enquiries)
13 |
14 | ## Overview
15 |
16 | Sample project in Objective-C, demonstrating the Document Reader SDK basic functionality. UI elements are not included.
17 |
18 | ## Installation
19 |
20 | 1. Download or clone the current repository using the command `git clone https://github.com/regulaforensics/DocumentReader-iOS.git`.
21 | 2. Open the `DocumentReaderObjectiveC-sample` project in an IDE.
22 | 3. Run pods `pod install`.
23 | 4. Add license and database files to the target:
24 | - Visit [Regula Client Portal](https://client.regulaforensics.com/) to get a trial license (`regula.license` file). The license creation wizard will guide you through the necessary steps.
25 | - Copy the license file to the project: `Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample/`.
26 | - Copy the database file `db.dat` from [Regula Client Portal](https://client.regulaforensics.com/customer/databases) to the project: `Basic/DocumentReaderObjectiveC-sample/DocumentReaderObjectiveC-sample/`.
27 | 5. Change the application Bundle ID to the one you have specified during the registration at [Regula Client Portal](https://client.regulaforensics.com/).
28 |
29 | ## Documentation
30 |
31 | Document Reader SDK Mobile Documentation
32 |
33 | ## Demo Application
34 |
35 | Regula Document Reader iOS Demo Application in the App Store
36 |
37 | ## Technical Support
38 |
39 | To submit a request to the Support Team, visit Regula Help Center.
40 |
41 | ## Business Enquiries
42 |
43 | To discuss business opportunities, fill the Enquiry Form and specify your scenarios, applications, and technical requirements.
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample.xcodeproj/project.xcworkspace/xcuserdata/deposhe.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample.xcodeproj/project.xcworkspace/xcuserdata/deposhe.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample.xcodeproj/xcuserdata/deposhe.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | DocumentReaderRFIDSwiftUISample.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 4
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample.xcodeproj/xcuserdata/serge.rylko.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | DocumentReaderRFIDSwiftUISample.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 2
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample.xcworkspace/xcuserdata/deposhe.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample.xcworkspace/xcuserdata/deposhe.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample.xcworkspace/xcuserdata/serge.rylko.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample.xcworkspace/xcuserdata/serge.rylko.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "platform" : "ios",
6 | "size" : "1024x1024"
7 | }
8 | ],
9 | "info" : {
10 | "author" : "xcode",
11 | "version" : 1
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/CameraView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CameraView.swift
3 | // DocReader-SUI-Sample
4 | //
5 | // Created by Dmitry Evglevsky on 12.09.22.
6 | //
7 |
8 | import SwiftUI
9 | import DocumentReader
10 |
11 | struct CameraView: View {
12 | let reader: ReaderFacade
13 |
14 | @Environment(\.presentationMode) var presentationMode
15 |
16 | var body: some View {
17 | ZStack {
18 | Color.black.edgesIgnoringSafeArea(.all)
19 | CameraViewController(reader: reader)
20 | }
21 | }
22 | }
23 |
24 | struct CameraViewController: UIViewControllerRepresentable {
25 | typealias UIViewControllerType = UIViewController
26 | let reader: ReaderFacade
27 |
28 | func makeUIViewController(context: Context) -> UIViewController {
29 | reader.getCameraController()
30 | }
31 |
32 | func updateUIViewController(_ uiViewController: UIViewController, context: Context) {}
33 | }
34 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/ContentView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ContentView.swift
3 | // DocumentReaderRFIDSwiftUISample
4 | //
5 | // Created by Serge Rylko on 25.01.24.
6 | //
7 |
8 | import SwiftUI
9 |
10 | struct ContentView: View {
11 |
12 | @ObservedObject
13 | var reader: ReaderFacade
14 |
15 | @State
16 | private var isScannerPresented = false
17 | @State
18 | private var isGalleryPresented = false
19 |
20 | var body: some View {
21 | NavigationView {
22 | if reader.isInitialized && !reader.isProcessing {
23 | VStack {
24 | Picker("Scenarios", selection: $reader.selectedScenario) {
25 | ForEach(reader.availableScenarios, id: \.self) {
26 | Text($0)
27 | }
28 | }
29 | .pickerStyle(WheelPickerStyle())
30 | HStack(spacing: 120) {
31 | Button("Camera") {
32 | isScannerPresented.toggle()
33 | }
34 | .padding(10)
35 | .background(Color.accentColor)
36 | .foregroundColor(.white)
37 | .cornerRadius(8)
38 | .fullScreenCover(isPresented: $isScannerPresented, content: {
39 | CameraView(reader: reader)
40 | })
41 | }
42 | NavigationLink("Results", isActive: $reader.areResultsReady) {
43 | ResultsView(reader: reader)
44 | }.hidden()
45 | }
46 | } else {
47 | Text("Initializing ...")
48 | }
49 | }.navigationViewStyle(.stack)
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/DocReader+Combine.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DocReader+Combine.swift
3 | // DocReader-SUI-Sample
4 | //
5 | // Created by Deposhe on 14.09.22.
6 | //
7 |
8 | import Foundation
9 | import Combine
10 | import DocumentReader
11 |
12 | enum RFIDError: Error {
13 | case cancel
14 | case timeout
15 | }
16 |
17 | extension DocReader {
18 |
19 | func initializeReader(config: DocReader.Config) -> AnyPublisher {
20 | Future { promise in
21 | DocReader.shared.initializeReader(config: config) { success, error in
22 | if let error = error {
23 | promise(.failure(error))
24 | } else {
25 | promise(.success(success))
26 | }
27 | }
28 | }.eraseToAnyPublisher()
29 | }
30 |
31 | // Read RFID without ReaderUI
32 | func readRFID() -> AnyPublisher {
33 | Deferred {
34 | Future { promise in
35 | DocReader.shared.readRFID(nil) { action, results, error, codes in
36 | if let error = error {
37 | promise(.failure(error))
38 | } else if let results = results {
39 | promise(.success(results))
40 | }
41 | }
42 | }
43 | }.eraseToAnyPublisher()
44 | }
45 |
46 | // Read RFID with ReaderUI
47 | func readRFIDController(presenter: UIViewController) -> AnyPublisher {
48 | Deferred {
49 | Future { promise in
50 | DocReader.shared.startRFIDReader(fromPresenter: presenter) { action, results, error in
51 | if let error = error {
52 | promise(.failure(error))
53 | } else if let results = results {
54 | promise(.success(results))
55 | } else if action == .cancel {
56 | promise(.failure(RFIDError.cancel))
57 | } else if action == .processTimeout {
58 | promise(.failure(RFIDError.timeout))
59 | }
60 | }
61 | }
62 | }.eraseToAnyPublisher()
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.developer.nfc.readersession.formats
6 |
7 | NDEF
8 | TAG
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISampleApp.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DocumentReaderRFIDSwiftUISampleApp.swift
3 | // DocumentReaderRFIDSwiftUISample
4 | //
5 | // Created by Serge Rylko on 25.01.24.
6 | //
7 |
8 | import SwiftUI
9 |
10 | @main
11 | struct DocumentReaderRFIDSwiftUISampleApp: App {
12 | var body: some Scene {
13 | WindowGroup {
14 | ContentView(reader: ReaderFacade())
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.developer.nfc.readersession.iso7816.select-identifiers
6 |
7 |
8 | A0000002471001
9 | E80704007F00070302
10 | A000000167455349474E
11 | A0000002480100
12 | A0000002480200
13 | A0000002480300
14 | A00000045645444C2D3031
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/Preview Content/Preview Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/ResultsView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ResultsView.swift
3 | // DocReader-SUI-Sample
4 | //
5 | // Created by Dmitry Evglevsky on 12.09.22.
6 | //
7 |
8 | import SwiftUI
9 | import DocumentReader
10 |
11 | struct ResultsView: View {
12 | let reader: ReaderFacade
13 |
14 | @State
15 | private var pageIndex = 0
16 |
17 | var body: some View {
18 | Picker("Results Page", selection: $pageIndex) {
19 | Text("Text").tag(0)
20 | Text("Graphics").tag(1)
21 | }
22 | .pickerStyle(SegmentedPickerStyle())
23 |
24 | if pageIndex == 0 {
25 | List(reader.lastTextResultFields, id: \.fieldName) { field in
26 | HStack {
27 | Text(field.fieldName + ":").fontWeight(.light).foregroundColor(Color.secondary)
28 | Text(field.values.first?.value ?? "").fontWeight(.light).foregroundColor(Color.primary)
29 | }
30 | }
31 | } else {
32 | GeometryReader { geo in
33 | List(reader.lastGraphicResultFields, id: \.hash) { field in
34 | VStack {
35 | Text(field.fieldName)
36 | .fontWeight(.light)
37 | .foregroundColor(Color.secondary)
38 | Image(uiImage: field.value)
39 | .resizable()
40 | .scaledToFit()
41 | .frame(width: geo.size.width)
42 | }
43 | }
44 | }
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/UIApplication+Window.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIApplication+Window.swift
3 | // DocumentReaderRFIDSwiftUISample
4 | //
5 | // Created by Serge Rylko on 31.01.24.
6 | //
7 |
8 | import Foundation
9 | import UIKit
10 |
11 | extension UIApplication {
12 | var firstKeyWindow: UIWindow? {
13 | UIApplication.shared.connectedScenes
14 | .compactMap { $0 as? UIWindowScene }
15 | .filter { $0.activationState == .foregroundActive }
16 | .first?.windows
17 | .first(where: \.isKeyWindow)
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment the next line to define a global platform for your project
2 | platform :ios, '13.0'
3 |
4 | target 'DocumentReaderRFIDSwiftUISample' do
5 | # Comment the next line if you don't want to use dynamic frameworks
6 | use_frameworks!
7 |
8 | # Pods for DocumentReaderSwiftUISample
9 | pod 'DocumentReader', '~> 7.7.0'
10 | pod 'DocumentReaderFullRFID', '~> 7.7.0'
11 | end
--------------------------------------------------------------------------------
/Basic/DocumentReaderRFIDSwiftUISample/README.md:
--------------------------------------------------------------------------------
1 | [](http://cocoapods.org/pods/DocumentReader)
2 | [](http://cocoapods.org/pods/DocumentReader)
3 | [](http://cocoapods.org/pods/DocumentReader)
4 |
5 | # Basic Swift RFID UI Sample Project (iOS)
6 |
7 | * [Overview](#overview)
8 | * [Installation](#installation)
9 | * [Documentation](#documentation)
10 | * [Demo Application](#demo-application)
11 | * [Technical Support](#technical-support)
12 | * [Business Enquiries](#business-enquiries)
13 |
14 | ## Overview
15 |
16 | Sample project in Swift, demonstrating the Document Reader SDK capabilities of reading RFID chip. Also includes the sample UI implementation.
17 |
18 | ## Installation
19 |
20 | 1. Download or clone the current repository using the command `git clone https://github.com/regulaforensics/DocumentReader-iOS.git`.
21 | 2. Open the `DocumentReaderRFIDSwiftUISample` project in an IDE.
22 | 3. Run pods `pod install`.
23 | 4. Add license and database files to the target:
24 | - visit [Regula Client Portal](https://client.regulaforensics.com/) to get a trial license (`regula.license` file). The license creation wizard will guide you through the necessary steps.
25 | - copy the license file to the project: `Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/`.
26 | - copy the database file `db.dat` from [Regula Client Portal](https://client.regulaforensics.com/customer/databases) to the project: `Basic/DocumentReaderRFIDSwiftUISample/DocumentReaderRFIDSwiftUISample/`.
27 | 5. Change the application Bundle ID to the one you have specified during the registration at [Regula Client Portal](https://client.regulaforensics.com/).
28 |
29 | ## Documentation
30 |
31 | Document Reader SDK Mobile Documentation
32 |
33 | ## Demo Application
34 |
35 | Regula Document Reader iOS Demo Application in the App Store
36 |
37 | ## Technical Support
38 |
39 | To submit a request to the Support Team, visit Regula Help Center.
40 |
41 | ## Business Enquiries
42 |
43 | To discuss business opportunities, fill the Enquiry Form and specify your scenarios, applications, and technical requirements.
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderFullSwift-sample.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.developer.nfc.readersession.formats
6 |
7 | NDEF
8 | TAG
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // DocumentReaderSwift-sample
4 | //
5 | // Created by Dmitry Smolyakov on 7/8/17.
6 | // Copyright © 2017 Dmitry Smolyakov. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
17 | // Override point for customization after application launch.
18 | return true
19 | }
20 |
21 | func applicationWillResignActive(_ application: UIApplication) {
22 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
23 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
24 | }
25 |
26 | func applicationDidEnterBackground(_ application: UIApplication) {
27 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
28 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
29 | }
30 |
31 | func applicationWillEnterForeground(_ application: UIApplication) {
32 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
33 | }
34 |
35 | func applicationDidBecomeActive(_ application: UIApplication) {
36 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
37 | }
38 |
39 | func applicationWillTerminate(_ application: UIApplication) {
40 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
41 | }
42 |
43 |
44 | }
45 |
46 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "40x40",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "40x40",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "2x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "size" : "60x60",
41 | "scale" : "3x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "20x20",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "20x20",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "29x29",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "29x29",
61 | "scale" : "2x"
62 | },
63 | {
64 | "idiom" : "ipad",
65 | "size" : "40x40",
66 | "scale" : "1x"
67 | },
68 | {
69 | "idiom" : "ipad",
70 | "size" : "40x40",
71 | "scale" : "2x"
72 | },
73 | {
74 | "idiom" : "ipad",
75 | "size" : "76x76",
76 | "scale" : "1x"
77 | },
78 | {
79 | "idiom" : "ipad",
80 | "size" : "76x76",
81 | "scale" : "2x"
82 | },
83 | {
84 | "idiom" : "ipad",
85 | "size" : "83.5x83.5",
86 | "scale" : "2x"
87 | },
88 | {
89 | "idiom" : "ios-marketing",
90 | "size" : "1024x1024",
91 | "scale" : "1x"
92 | }
93 | ],
94 | "info" : {
95 | "version" : 1,
96 | "author" : "xcode"
97 | }
98 | }
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/Assets.xcassets/nfc_logo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "rfid_icon copy-2.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "rfid_icon.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "rfid_icon copy-1.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/Assets.xcassets/nfc_logo.imageset/rfid_icon copy-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/Assets.xcassets/nfc_logo.imageset/rfid_icon copy-1.png
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/Assets.xcassets/nfc_logo.imageset/rfid_icon copy-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/Assets.xcassets/nfc_logo.imageset/rfid_icon copy-2.png
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/Assets.xcassets/nfc_logo.imageset/rfid_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/Assets.xcassets/nfc_logo.imageset/rfid_icon.png
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/DocumentReaderFullSwift-sample-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | DocReader
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | NFCReaderUsageDescription
26 | NFC tag to read NDEF messages
27 | NSBluetoothAlwaysUsageDescription
28 | Regula 1120 Device
29 | NSCameraUsageDescription
30 | To obtain images from the camera
31 | NSPhotoLibraryUsageDescription
32 | To obtain images from the gallery
33 | UILaunchStoryboardName
34 | LaunchScreen
35 | UIMainStoryboardFile
36 | Main
37 | UIRequiredDeviceCapabilities
38 |
39 | armv7
40 |
41 | UISupportedInterfaceOrientations
42 |
43 | UIInterfaceOrientationPortrait
44 | UIInterfaceOrientationLandscapeLeft
45 | UIInterfaceOrientationLandscapeRight
46 |
47 | UISupportedInterfaceOrientations~ipad
48 |
49 | UIInterfaceOrientationPortrait
50 | UIInterfaceOrientationLandscapeLeft
51 | UIInterfaceOrientationLandscapeRight
52 |
53 | com.apple.developer.nfc.readersession.iso7816.select-identifiers
54 |
55 | A0000002471001
56 | E80704007F00070302
57 | A000000167455349474E
58 | A0000002480100
59 | A0000002480200
60 | A0000002480300
61 | A00000045645444C2D3031
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/test.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/test.pdf
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/Podfile:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 | platform :ios, '13.0'
4 | use_frameworks!
5 |
6 | target 'DocumentReaderFullSwift-sample' do
7 | pod 'DocumentReader', '~> 7.7.0'
8 | pod 'DocumentReaderFullRFID', '~> 7.7.0'
9 | end
10 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwift-sample/README.md:
--------------------------------------------------------------------------------
1 | [](http://cocoapods.org/pods/DocumentReader)
2 | [](http://cocoapods.org/pods/DocumentReader)
3 | [](http://cocoapods.org/pods/DocumentReader)
4 |
5 | # Basic Swift Sample Project (iOS)
6 |
7 | * [Overview](#overview)
8 | * [Installation](#installation)
9 | * [Documentation](#documentation)
10 | * [Demo Application](#demo-application)
11 | * [Technical Contacts](#technical-contacts)
12 | * [Business Contacts](#business-contacts)
13 |
14 | ## Overview
15 |
16 | Sample project in Swift, demonstrating the Document Reader SDK basic functionality. UI elements are not included.
17 |
18 | ## Installation
19 |
20 | 1. Download or clone the current repository using the command `git clone https://github.com/regulaforensics/DocumentReader-iOS.git`.
21 | 2. Open the `DocumentReaderSwift-sample` project in an IDE.
22 | 3. Run pods `pod install`.
23 | 4. Add license and database files to the target:
24 | - Visit [Regula Client Portal](https://client.regulaforensics.com/) to get a trial license (`regula.license` file). The license creation wizard will guide you through the necessary steps.
25 | - Copy the license file to the project: `Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/`
26 | - Copy the database file `db.dat` from [Regula Client Portal](https://client.regulaforensics.com/customer/databases) to the project: `Basic/DocumentReaderSwift-sample/DocumentReaderSwift-sample/`
27 | 5. Change the application Bundle ID to the one you have specified during the registration at [Regula Client Portal](https://client.regulaforensics.com/).
28 |
29 | ## Documentation
30 |
31 | Document Reader SDK Mobile Documentation
32 |
33 | ## Demo Application
34 |
35 | Regula Document Reader iOS Demo Application in the App Store
36 |
37 | ## Technical Contacts
38 |
39 | To submit a request to Technical Support, visit Regula Help Center.
40 |
41 | ## Business Contacts
42 |
43 | To discuss business purposes or purchase the license, fill the Enquiry Form.
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "platform" : "ios",
6 | "size" : "1024x1024"
7 | }
8 | ],
9 | "info" : {
10 | "author" : "xcode",
11 | "version" : 1
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample/CameraView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CameraView.swift
3 | // DocReader-SUI-Sample
4 | //
5 | // Created by Dmitry Evglevsky on 12.09.22.
6 | //
7 |
8 | import SwiftUI
9 | import DocumentReader
10 |
11 | struct CameraView: View {
12 | let reader: ReaderFacade
13 |
14 | @Environment(\.presentationMode) var presentationMode
15 |
16 | var body: some View {
17 | ZStack {
18 | Color.black.edgesIgnoringSafeArea(.all)
19 | CameraViewController(reader: reader)
20 | VStack {
21 | Text("Custom Text Over Scanner")
22 | .foregroundColor(Color.green)
23 | .font(.system(size: 20))
24 | .padding(EdgeInsets(top: 120, leading: 0, bottom: 0, trailing: 0))
25 | Spacer()
26 | }
27 | }
28 | }
29 | }
30 |
31 | struct CameraViewController: UIViewControllerRepresentable {
32 | typealias UIViewControllerType = UIViewController
33 | let reader: ReaderFacade
34 |
35 | func makeUIViewController(context: Context) -> UIViewController {
36 | reader.getCameraController()
37 | }
38 |
39 | func updateUIViewController(_ uiViewController: UIViewController, context: Context) {}
40 | }
41 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample/DocReader+Combine.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DocReader+Combine.swift
3 | // DocReader-SUI-Sample
4 | //
5 | // Created by Deposhe on 14.09.22.
6 | //
7 |
8 | import Foundation
9 | import Combine
10 | import DocumentReader
11 |
12 | extension DocReader {
13 |
14 | func initializeReader(config: DocReader.Config) -> AnyPublisher {
15 | Future { promise in
16 | DocReader.shared.initializeReader(config: config) { success, error in
17 | if let error = error {
18 | promise(.failure(error))
19 | } else {
20 | promise(.success(success))
21 | }
22 | }
23 | }.eraseToAnyPublisher()
24 | }
25 |
26 | func recognize(config: DocReader.RecognizeConfig) -> AnyPublisher {
27 | Deferred {
28 | Future { promise in
29 | DocReader.shared.recognize(config: config) { _, results, error in
30 | if let error = error {
31 | promise(.failure(error))
32 | } else if let results = results {
33 | promise(.success(results))
34 | }
35 | }
36 | }
37 | }.eraseToAnyPublisher()
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI_sampleApp.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DocumentReaderSwiftUI_sampleApp.swift
3 | // DocumentReaderSwiftUI-sample
4 | //
5 | // Created by Dmitry Evglevsky on 13.09.22.
6 | //
7 |
8 | import SwiftUI
9 |
10 | @main
11 | struct DocumentReaderSwiftUI_sampleApp: App {
12 | var body: some Scene {
13 | WindowGroup {
14 | MainView(reader: ReaderFacade())
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample/GalleryView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // GalleryView.swift
3 | // DocReader-SUI-Sample
4 | //
5 | // Created by Dmitry Evglevsky on 13.09.22.
6 | //
7 |
8 | import SwiftUI
9 |
10 | struct GalleryView: View {
11 | let reader: ReaderFacade
12 |
13 | @Environment(\.presentationMode) var presentationMode
14 |
15 | var body: some View {
16 | GalleryViewController(reader: reader)
17 | }
18 | }
19 |
20 | struct GalleryViewController: UIViewControllerRepresentable {
21 | typealias UIViewControllerType = UIViewController
22 | let reader: ReaderFacade
23 |
24 | func makeUIViewController(context: Context) -> UIViewController {
25 | reader.getGalleryController()
26 | }
27 |
28 | func updateUIViewController(_ uiViewController: UIViewController, context: Context) {}
29 | }
30 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample/MainView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MainView.swift
3 | // DocReader-SUI-Sample
4 | //
5 | // Created by Dmitry Evglevsky on 12.09.22.
6 | //
7 |
8 | import SwiftUI
9 | import Combine
10 |
11 | struct MainView: View {
12 |
13 | @ObservedObject
14 | var reader: ReaderFacade
15 |
16 | @State
17 | private var isScannerPresented = false
18 | @State
19 | private var isGalleryPresented = false
20 |
21 | var body: some View {
22 | NavigationView {
23 | if reader.isInitialized && !reader.isProcessing {
24 | VStack {
25 | Picker("Scenarios", selection: $reader.selectedScenario) {
26 | ForEach(reader.availableScenarios, id: \.self) {
27 | Text($0)
28 | }
29 | }
30 | .pickerStyle(WheelPickerStyle())
31 | HStack(spacing: 120) {
32 | Button("Camera") {
33 | isScannerPresented.toggle()
34 | }
35 | .padding(10)
36 | .background(Color.accentColor)
37 | .foregroundColor(.white)
38 | .cornerRadius(8)
39 | .fullScreenCover(isPresented: $isScannerPresented, content: {
40 | CameraView(reader: reader)
41 | })
42 | Button("Gallery") {
43 | isGalleryPresented.toggle()
44 | }
45 | .padding(10)
46 | .background(Color.accentColor)
47 | .foregroundColor(.white)
48 | .cornerRadius(8)
49 | .sheet(isPresented: $isGalleryPresented, content: {
50 | GalleryView(reader: reader)
51 | })
52 | }
53 | NavigationLink("", isActive: $reader.areResultsReady) {
54 | ResultsView(reader: reader)
55 | }.hidden()
56 | }
57 | } else if reader.isProcessing {
58 | ProgressView().progressViewStyle(.circular)
59 | } else {
60 | Text("Initializing ...")
61 | }
62 | }.navigationViewStyle(.stack)
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample/Preview Content/Preview Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample/ResultsView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ResultsView.swift
3 | // DocReader-SUI-Sample
4 | //
5 | // Created by Dmitry Evglevsky on 12.09.22.
6 | //
7 |
8 | import SwiftUI
9 | import DocumentReader
10 |
11 | struct ResultsView: View {
12 | let reader: ReaderFacade
13 |
14 | @State
15 | private var pageIndex = 0
16 |
17 | var body: some View {
18 | Picker("Results Page", selection: $pageIndex) {
19 | Text("Text").tag(0)
20 | Text("Graphics").tag(1)
21 | }
22 | .pickerStyle(SegmentedPickerStyle())
23 |
24 | if pageIndex == 0 {
25 | List(reader.lastTextResultFields, id: \.fieldName) { field in
26 | HStack {
27 | Text(field.fieldName + ":").fontWeight(.light).foregroundColor(Color.secondary)
28 | Text(field.values.first?.value ?? "").fontWeight(.light).foregroundColor(Color.primary)
29 | }
30 | }
31 | } else {
32 | GeometryReader { geo in
33 | List(reader.lastGraphicResultFields, id: \.hash) { field in
34 | VStack {
35 | Text(field.fieldName)
36 | .fontWeight(.light)
37 | .foregroundColor(Color.secondary)
38 | Image(uiImage: field.value)
39 | .resizable()
40 | .scaledToFit()
41 | .frame(width: geo.size.width)
42 | }
43 | }
44 | }
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment the next line to define a global platform for your project
2 | platform :ios, '13.0'
3 |
4 | target 'DocumentReaderSwiftUI-sample' do
5 | # Comment the next line if you don't want to use dynamic frameworks
6 | use_frameworks!
7 |
8 | # Pods for DocumentReaderSwiftUI-sample
9 | pod 'DocumentReader', '~> 7.7.0'
10 | pod 'DocumentReaderFullRFID', '~> 7.7.0'
11 | end
12 |
--------------------------------------------------------------------------------
/Basic/DocumentReaderSwiftUI-sample/README.md:
--------------------------------------------------------------------------------
1 | [](http://cocoapods.org/pods/DocumentReader)
2 | [](http://cocoapods.org/pods/DocumentReader)
3 | [](http://cocoapods.org/pods/DocumentReader)
4 |
5 | # Basic Swift UI Sample Project (iOS)
6 |
7 | * [Overview](#overview)
8 | * [Installation](#installation)
9 | * [Documentation](#documentation)
10 | * [Demo Application](#demo-application)
11 | * [Technical Contacts](#technical-contacts)
12 | * [Business Contacts](#business-contacts)
13 |
14 | ## Overview
15 |
16 | Sample project in Swift, demonstrating the Document Reader SDK basic functionality. Also includes the sample UI implementation.
17 |
18 | ## Installation
19 |
20 | 1. Download or clone the current repository using the command `git clone https://github.com/regulaforensics/DocumentReader-iOS.git`.
21 | 2. Open the `DocumentReaderSwiftUI-sample` project in an IDE.
22 | 3. Run pods `pod install`.
23 | 4. Add license and database files to the target:
24 | - Visit [Regula Client Portal](https://client.regulaforensics.com/) to get a trial license (`regula.license` file). The license creation wizard will guide you through the necessary steps.
25 | - Copy the license file to the project: `Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample/`
26 | - Copy the database file `db.dat` from [Client Portal](https://client.regulaforensics.com/customer/databases) to the project: `Basic/DocumentReaderSwiftUI-sample/DocumentReaderSwiftUI-sample/`
27 | 5. Change the application Bundle ID to the one you have specified during the registration at the [Client Portal](https://client.regulaforensics.com/).
28 |
29 | ## Documentation
30 |
31 | Document Reader SDK Mobile Documentation
32 |
33 | ## Demo Application
34 |
35 | Regula Document Reader iOS Demo Application in the App Store
36 |
37 | ## Technical Contacts
38 |
39 | To submit a request to Technical Support, visit Regula Help Center.
40 |
41 | ## Business Contacts
42 |
43 | To discuss business purposes or purchase the license, fill the Enquiry Form.
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.developer.nfc.readersession.formats
6 |
7 | NDEF
8 | TAG
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense.xcodeproj/xcuserdata/deposhe.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | DocumentReaderSwiftBleLicense.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 5
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense.xcworkspace/xcuserdata/deposhe.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense.xcworkspace/xcuserdata/deposhe.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // DocumentReaderSwiftBleLicense
4 | //
5 | // Created by Serge Rylko on 24.11.22.
6 | //
7 |
8 | import UIKit
9 |
10 | @UIApplicationMain
11 | class AppDelegate: UIResponder, UIApplicationDelegate {
12 |
13 | var window: UIWindow?
14 |
15 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
16 | // Override point for customization after application launch.
17 | return true
18 | }
19 |
20 | func applicationWillResignActive(_ application: UIApplication) {
21 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
22 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
23 | }
24 |
25 | func applicationDidEnterBackground(_ application: UIApplication) {
26 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
27 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
28 | }
29 |
30 | func applicationWillEnterForeground(_ application: UIApplication) {
31 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
32 | }
33 |
34 | func applicationDidBecomeActive(_ application: UIApplication) {
35 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
36 | }
37 |
38 | func applicationWillTerminate(_ application: UIApplication) {
39 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
40 | }
41 |
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "platform" : "ios",
6 | "size" : "1024x1024"
7 | }
8 | ],
9 | "info" : {
10 | "author" : "xcode",
11 | "version" : 1
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/correct.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "correct.png",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "filename" : "correct@2x.png",
10 | "idiom" : "universal",
11 | "scale" : "2x"
12 | },
13 | {
14 | "filename" : "correct@3x.png",
15 | "idiom" : "universal",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "author" : "xcode",
21 | "version" : 1
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/correct.imageset/correct.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/correct.imageset/correct.png
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/correct.imageset/correct@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/correct.imageset/correct@2x.png
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/correct.imageset/correct@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/correct.imageset/correct@3x.png
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/incorrect.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "incorrect.png",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "filename" : "incorrect@2x.png",
10 | "idiom" : "universal",
11 | "scale" : "2x"
12 | },
13 | {
14 | "filename" : "incorrect@3x.png",
15 | "idiom" : "universal",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "author" : "xcode",
21 | "version" : 1
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/incorrect.imageset/incorrect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/incorrect.imageset/incorrect.png
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/incorrect.imageset/incorrect@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/incorrect.imageset/incorrect@2x.png
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/incorrect.imageset/incorrect@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/incorrect.imageset/incorrect@3x.png
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/portrait.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "portrait.png",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "filename" : "portrait@2x.png",
10 | "idiom" : "universal",
11 | "scale" : "2x"
12 | },
13 | {
14 | "filename" : "portrait@3x.png",
15 | "idiom" : "universal",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "author" : "xcode",
21 | "version" : 1
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/portrait.imageset/portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/portrait.imageset/portrait.png
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/portrait.imageset/portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/portrait.imageset/portrait@2x.png
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/portrait.imageset/portrait@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Assets.xcassets/portrait.imageset/portrait@3x.png
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.developer.nfc.readersession.formats
6 |
7 | NDEF
8 | TAG
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.developer.nfc.readersession.iso7816.select-identifiers
6 |
7 | A0000002471001
8 | E80704007F00070302
9 | A000000167455349474E
10 | A0000002480100
11 | A0000002480200
12 | A0000002480300
13 | A00000045645444C2D3031
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/Podfile:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 |
4 | platform :ios, '13.0'
5 | use_frameworks!
6 |
7 | target 'DocumentReaderSwiftBleLicense' do
8 | pod 'DocumentReader', '~> 7.7.0'
9 | pod 'DocumentReaderFullAuthRFID', '~> 7.7.0'
10 | pod 'BTDevice', '~> 7.6.0'
11 | end
12 |
--------------------------------------------------------------------------------
/BleDevice/DocumentReaderSwiftBleLicense/README.md:
--------------------------------------------------------------------------------
1 | [](http://cocoapods.org/pods/DocumentReader)
2 | [](http://cocoapods.org/pods/DocumentReader)
3 | [](http://cocoapods.org/pods/DocumentReader)
4 |
5 | # Document Reader SDK BLE Sample Project (iOS)
6 |
7 | * [Overview](#overview)
8 | * [Installation](#installation)
9 | * [Documentation](#documentation)
10 | * [Demo Application](#demo-application)
11 | * [Technical Support](#technical-support)
12 | * [Business Enquiries](#business-enquiries)
13 |
14 | ## Overview
15 |
16 | Sample project in Swift, demonstrating the Document Reader SDK integration with the device Mobile Document Authenticator Regula 1120.
17 |
18 | ## Installation
19 |
20 | 1. Download or clone the current repository using the command `git clone https://github.com/regulaforensics/DocumentReader-iOS.git`
21 | 2. Open the `DocumentReaderSwiftBleLicense` project in an IDE.
22 | 3. Run pods `pod install`
23 | 4. Add database file to the target:
24 | - Copy the database file `db.dat` from the [Client Portal](https://client.regulaforensics.com/customer/databases) to the project:`BleDevice/DocumentReaderSwiftBleLicense/DocumentReaderSwiftBleLicense`
25 |
26 | ## Documentation
27 |
28 | Document Reader SDK Mobile Documentation
29 |
30 | ## Demo Application
31 |
32 | Regula Document Reader iOS Demo Application in the App Store
33 |
34 | ## Technical Support
35 |
36 | To submit a request to the Support Team, visit Regula Help Center.
37 |
38 | ## Business Enquiries
39 |
40 | To discuss business opportunities, fill the Enquiry Form and specify your scenarios, applications, and technical requirements.
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning.xcodeproj/project.xcworkspace/xcuserdata/serge.rylko.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning.xcodeproj/project.xcworkspace/xcuserdata/serge.rylko.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning.xcodeproj/xcuserdata/serge.rylko.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | DocumentReaderCertificatePinning.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 4
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning.xcworkspace/xcuserdata/deposhe.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning.xcworkspace/xcuserdata/deposhe.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // DocumentReaderCertificatePinning
4 | //
5 | // Created by Serge Rylko on 11.10.23.
6 | //
7 |
8 | import UIKit
9 |
10 | @main
11 | class AppDelegate: UIResponder, UIApplicationDelegate {
12 |
13 |
14 |
15 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
16 | // Override point for customization after application launch.
17 | return true
18 | }
19 |
20 | // MARK: UISceneSession Lifecycle
21 |
22 | func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
23 | // Called when a new scene session is being created.
24 | // Use this method to select a configuration to create the new scene with.
25 | return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
26 | }
27 |
28 | func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) {
29 | // Called when the user discards a scene session.
30 | // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
31 | // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
32 | }
33 |
34 |
35 | }
36 |
37 |
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "platform" : "ios",
6 | "size" : "1024x1024"
7 | }
8 | ],
9 | "info" : {
10 | "author" : "xcode",
11 | "version" : 1
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIApplicationSceneManifest
6 |
7 | UIApplicationSupportsMultipleScenes
8 |
9 | UISceneConfigurations
10 |
11 | UIWindowSceneSessionRoleApplication
12 |
13 |
14 | UISceneConfigurationName
15 | Default Configuration
16 | UISceneDelegateClassName
17 | $(PRODUCT_MODULE_NAME).SceneDelegate
18 | UISceneStoryboardFile
19 | Main
20 |
21 |
22 |
23 |
24 | NSAppTransportSecurity
25 |
26 | NSAllowsArbitraryLoads
27 |
28 | NSPinnedDomains
29 |
30 | regulaforensics.com
31 |
32 | NSIncludesSubdomains
33 |
34 | NSPinnedLeafIdentities
35 |
36 |
37 | SPKI-SHA256-BASE64
38 | /5RKFaPkCjAzvsEZHOlYqncYADaLIG5VfTmhsBbkaBk=
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning/SceneDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SceneDelegate.swift
3 | // DocumentReaderCertificatePinning
4 | //
5 | // Created by Serge Rylko on 11.10.23.
6 | //
7 |
8 | import UIKit
9 |
10 | class SceneDelegate: UIResponder, UIWindowSceneDelegate {
11 |
12 | var window: UIWindow?
13 |
14 |
15 | func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
16 | // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
17 | // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
18 | // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
19 | guard let _ = (scene as? UIWindowScene) else { return }
20 | }
21 |
22 | func sceneDidDisconnect(_ scene: UIScene) {
23 | // Called as the scene is being released by the system.
24 | // This occurs shortly after the scene enters the background, or when its session is discarded.
25 | // Release any resources associated with this scene that can be re-created the next time the scene connects.
26 | // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
27 | }
28 |
29 | func sceneDidBecomeActive(_ scene: UIScene) {
30 | // Called when the scene has moved from an inactive state to an active state.
31 | // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
32 | }
33 |
34 | func sceneWillResignActive(_ scene: UIScene) {
35 | // Called when the scene will move from an active state to an inactive state.
36 | // This may occur due to temporary interruptions (ex. an incoming phone call).
37 | }
38 |
39 | func sceneWillEnterForeground(_ scene: UIScene) {
40 | // Called as the scene transitions from the background to the foreground.
41 | // Use this method to undo the changes made on entering the background.
42 | }
43 |
44 | func sceneDidEnterBackground(_ scene: UIScene) {
45 | // Called as the scene transitions from the foreground to the background.
46 | // Use this method to save data, release shared resources, and store enough scene-specific state information
47 | // to restore the scene back to its current state.
48 | }
49 |
50 |
51 | }
52 |
53 |
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // DocumentReaderCertificatePinning
4 | //
5 | // Created by Serge Rylko on 11.10.23.
6 | //
7 |
8 | import UIKit
9 | import DocumentReader
10 |
11 | class ViewController: UIViewController {
12 |
13 | override func viewDidLoad() {
14 | super.viewDidLoad()
15 | prepareReader()
16 | }
17 |
18 | private func prepareReader() {
19 | guard let licenseData = licenseData() else {
20 | print("License file missed")
21 | return
22 | }
23 | let config = DocReader.Config(license: licenseData)
24 | DocReader.shared.initializeReader(config: config) { success, error in
25 | if success {
26 | print("DocumentReader initialized")
27 | } else {
28 | print("Initialization failed \(error!.localizedDescription)")
29 | }
30 | }
31 | }
32 |
33 | @IBAction func didPressRecognizeButton(_ sender: Any) {
34 | guard let image = UIImage(named: "mrz_sample.jpg") else { return }
35 | let config = DocReader.RecognizeConfig(image: image)
36 | config.onlineProcessingConfig = .init(mode: .auto)
37 | config.onlineProcessingConfig?.processParams?.scenario = RGL_SCENARIO_MRZ
38 | DocReader.shared.recognize(config: config) { action, results, error in
39 | switch action {
40 | case .complete:
41 | let name = results?.getTextFieldByType(fieldType: .ft_Surname_And_Given_Names)?.value ?? ""
42 | let mrzString = results?.getTextFieldByType(fieldType: .ft_MRZ_Strings)?.value ?? ""
43 | print("completed: \(name) \(mrzString)")
44 | case .cancel:
45 | print("cancel")
46 | case .error:
47 | print(error)
48 | case .processOnServer:
49 | print("process on server")
50 | default:
51 | print("default")
52 | print(action.rawValue)
53 | }
54 | }
55 | }
56 |
57 | private func licenseData() -> Data? {
58 | guard
59 | let url = Bundle.main.url(forResource: "regula", withExtension: "license"),
60 | let data = try? Data(contentsOf: url) else { return nil }
61 | return data
62 | }
63 | }
64 |
65 |
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning/mrz_sample.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/CertificatePinning/DocumentReaderCertificatePinning/DocumentReaderCertificatePinning/mrz_sample.jpg
--------------------------------------------------------------------------------
/CertificatePinning/DocumentReaderCertificatePinning/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment the next line to define a global platform for your project
2 | platform :ios, '13.0'
3 |
4 | target 'DocumentReaderCertificatePinning' do
5 | pod 'DocumentReader', '~> 7.7.0'
6 | pod 'DocumentReaderMRZ', '~> 7.7.0'
7 | end
8 |
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // DocumentReaderSwift-sample
4 | //
5 | // Created by Dmitry Smolyakov on 7/8/17.
6 | // Copyright © 2017 Dmitry Smolyakov. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
17 | // Override point for customization after application launch.
18 | return true
19 | }
20 |
21 | func applicationWillResignActive(_ application: UIApplication) {
22 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
23 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
24 | }
25 |
26 | func applicationDidEnterBackground(_ application: UIApplication) {
27 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
28 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
29 | }
30 |
31 | func applicationWillEnterForeground(_ application: UIApplication) {
32 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
33 | }
34 |
35 | func applicationDidBecomeActive(_ application: UIApplication) {
36 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
37 | }
38 |
39 | func applicationWillTerminate(_ application: UIApplication) {
40 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
41 | }
42 |
43 |
44 | }
45 |
46 |
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "40x40",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "40x40",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "2x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "size" : "60x60",
41 | "scale" : "3x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "20x20",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "20x20",
51 | "scale" : "2x"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "size" : "29x29",
56 | "scale" : "1x"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "size" : "29x29",
61 | "scale" : "2x"
62 | },
63 | {
64 | "idiom" : "ipad",
65 | "size" : "40x40",
66 | "scale" : "1x"
67 | },
68 | {
69 | "idiom" : "ipad",
70 | "size" : "40x40",
71 | "scale" : "2x"
72 | },
73 | {
74 | "idiom" : "ipad",
75 | "size" : "76x76",
76 | "scale" : "1x"
77 | },
78 | {
79 | "idiom" : "ipad",
80 | "size" : "76x76",
81 | "scale" : "2x"
82 | },
83 | {
84 | "idiom" : "ipad",
85 | "size" : "83.5x83.5",
86 | "scale" : "2x"
87 | },
88 | {
89 | "idiom" : "ios-marketing",
90 | "size" : "1024x1024",
91 | "scale" : "1x"
92 | }
93 | ],
94 | "info" : {
95 | "version" : 1,
96 | "author" : "xcode"
97 | }
98 | }
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample/Assets.xcassets/nfc_logo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "rfid_icon copy-2.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "rfid_icon.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "rfid_icon copy-1.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample/Assets.xcassets/nfc_logo.imageset/rfid_icon copy-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample/Assets.xcassets/nfc_logo.imageset/rfid_icon copy-1.png
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample/Assets.xcassets/nfc_logo.imageset/rfid_icon copy-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample/Assets.xcassets/nfc_logo.imageset/rfid_icon copy-2.png
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample/Assets.xcassets/nfc_logo.imageset/rfid_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/regulaforensics/DocumentReader-iOS/1598b6240a08f11a019f2bf435087e2336f3490a/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample/Assets.xcassets/nfc_logo.imageset/rfid_icon.png
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | DocReader
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 |
37 | UISupportedInterfaceOrientations~ipad
38 |
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 | UIInterfaceOrientationPortrait
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/Podfile:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 | platform :ios, '13.0'
4 | use_frameworks!
5 |
6 | target 'DocumentReaderDatabase-sample' do
7 | pod 'DocumentReader', '~> 7.7.0'
8 | pod 'DocumentReaderFullRFID', '~> 7.7.0'
9 | end
10 |
--------------------------------------------------------------------------------
/Database/DocumentReaderDatabase-sample/README.md:
--------------------------------------------------------------------------------
1 | [](http://cocoapods.org/pods/DocumentReader)
2 | [](http://cocoapods.org/pods/DocumentReader)
3 | [](http://cocoapods.org/pods/DocumentReader)
4 |
5 | # Document Reader SDK Database Sample Project (iOS)
6 |
7 | * [Overview](#overview)
8 | * [Installation](#installation)
9 | * [Documentation](#documentation)
10 | * [Demo Application](#demo-application)
11 | * [Technical Support](#technical-support)
12 | * [Business Enquiries](#business-enquiries)
13 |
14 | ## Overview
15 |
16 | Sample project in Swift, demonstrating the options for the database usage.
17 |
18 | ## Installation
19 |
20 | 1. Download or clone the current repository using the command `git clone https://github.com/regulaforensics/DocumentReader-iOS.git`
21 | 2. Open the `DocumentReaderDatabase-sample` project in an IDE.
22 | 3. Run pods `pod install`
23 | 4. Add license file to the target:
24 | - Visit [Regula Client Portal](https://client.regulaforensics.com/) to get a trial license (`regula.license` file). The license creation wizard will guide you through the necessary steps.
25 | - Copy the license file to the project: `Database/DocumentReaderDatabase-sample/DocumentReaderDatabase-sample/`
26 | 5. Change the application Bundle ID to the one you have specified during the registration at [Regula Client Portal](https://client.regulaforensics.com/).
27 |
28 | ## Documentation
29 |
30 | Document Reader SDK Mobile Documentation
31 |
32 | ## Demo Application
33 |
34 | Regula Document Reader iOS Demo Application in the App Store
35 |
36 | ## Technical Support
37 |
38 | To submit a request to the Support Team, visit Regula Help Center.
39 |
40 | ## Business Enquiries
41 |
42 | To discuss business opportunities, fill the Enquiry Form and specify your scenarios, applications, and technical requirements.
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-With-License-Swift/OnlineProcessing-With-License-Swift.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-With-License-Swift/OnlineProcessing-With-License-Swift.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-With-License-Swift/OnlineProcessing-With-License-Swift/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // OnlineProcessing-With-License-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 7.10.24.
6 | //
7 |
8 | import UIKit
9 |
10 | @main
11 | class AppDelegate: UIResponder, UIApplicationDelegate {
12 |
13 | var window: UIWindow?
14 |
15 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
16 | // Override point for customization after application launch.
17 | return true
18 | }
19 |
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-With-License-Swift/OnlineProcessing-With-License-Swift/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-With-License-Swift/OnlineProcessing-With-License-Swift/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "platform" : "ios",
6 | "size" : "1024x1024"
7 | },
8 | {
9 | "appearances" : [
10 | {
11 | "appearance" : "luminosity",
12 | "value" : "dark"
13 | }
14 | ],
15 | "idiom" : "universal",
16 | "platform" : "ios",
17 | "size" : "1024x1024"
18 | },
19 | {
20 | "appearances" : [
21 | {
22 | "appearance" : "luminosity",
23 | "value" : "tinted"
24 | }
25 | ],
26 | "idiom" : "universal",
27 | "platform" : "ios",
28 | "size" : "1024x1024"
29 | }
30 | ],
31 | "info" : {
32 | "author" : "xcode",
33 | "version" : 1
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-With-License-Swift/OnlineProcessing-With-License-Swift/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-With-License-Swift/OnlineProcessing-With-License-Swift/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-With-License-Swift/OnlineProcessing-With-License-Swift/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-With-License-Swift/OnlineProcessing-With-License-Swift/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-With-License-Swift/Podfile:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 | platform :ios, '15.0'
4 | use_frameworks!
5 |
6 | target 'OnlineProcessing-With-License-Swift' do
7 | pod 'DocumentReader', '~> 7.7.0'
8 | pod 'DocumentReaderFullRFID', '~> 7.7.0'
9 | end
10 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-Without-License-Swift/OnlineProcessing-Without-License-Swift.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-Without-License-Swift/OnlineProcessing-Without-License-Swift.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-Without-License-Swift/OnlineProcessing-Without-License-Swift/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // OnlineProcessing-With-License-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 7.10.24.
6 | //
7 |
8 | import UIKit
9 |
10 | @main
11 | class AppDelegate: UIResponder, UIApplicationDelegate {
12 |
13 | var window: UIWindow?
14 |
15 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
16 | // Override point for customization after application launch.
17 | return true
18 | }
19 |
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-Without-License-Swift/OnlineProcessing-Without-License-Swift/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-Without-License-Swift/OnlineProcessing-Without-License-Swift/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "platform" : "ios",
6 | "size" : "1024x1024"
7 | },
8 | {
9 | "appearances" : [
10 | {
11 | "appearance" : "luminosity",
12 | "value" : "dark"
13 | }
14 | ],
15 | "idiom" : "universal",
16 | "platform" : "ios",
17 | "size" : "1024x1024"
18 | },
19 | {
20 | "appearances" : [
21 | {
22 | "appearance" : "luminosity",
23 | "value" : "tinted"
24 | }
25 | ],
26 | "idiom" : "universal",
27 | "platform" : "ios",
28 | "size" : "1024x1024"
29 | }
30 | ],
31 | "info" : {
32 | "author" : "xcode",
33 | "version" : 1
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-Without-License-Swift/OnlineProcessing-Without-License-Swift/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-Without-License-Swift/OnlineProcessing-Without-License-Swift/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-Without-License-Swift/OnlineProcessing-Without-License-Swift/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-Without-License-Swift/OnlineProcessing-Without-License-Swift/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-Without-License-Swift/Podfile:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 | platform :ios, '15.0'
4 | use_frameworks!
5 |
6 | target 'OnlineProcessing-Without-License-Swift' do
7 | pod 'DocumentReader', '~> 7.7.0'
8 | pod 'DocumentReaderFullRFID', '~> 7.7.0'
9 | end
10 |
--------------------------------------------------------------------------------
/OnlineProcessing/OnlineProcessing-Without-License-Swift/README.md:
--------------------------------------------------------------------------------
1 | [](http://cocoapods.org/pods/DocumentReader)
2 | [](http://cocoapods.org/pods/DocumentReader)
3 | [](http://cocoapods.org/pods/DocumentReader)
4 |
5 | # Manual Mode Online Processing Sample Project (iOS)
6 |
7 | * [Overview](#overview)
8 | * [Installation](#installation)
9 | * [Documentation](#documentation)
10 | * [Demo Application](#demo-application)
11 | * [Technical Support](#technical-support)
12 | * [Business Enquiries](#business-enquiries)
13 |
14 | ## Overview
15 |
16 | Sample project in Swift, demonstrating the Document Reader SDK setup for Online Processing in the Manual Mode. In this mode, the document processing is performed fully on the Web API service, while the Mobile SDK is used only for capturing document images and passing them to the service.
17 |
18 | So the mobile application doesn't need to be initialized with the dedicated license.
19 |
20 | ## Installation
21 |
22 | 1. Download or clone the current repository using the command `git clone https://github.com/regulaforensics/DocumentReader-iOS.git`.
23 | 2. Open the `OnlineProcessing-Without-License-Swift` project in an IDE.
24 | 3. Run pods `pod install`.
25 | 4. Change the application Bundle ID to the one you have specified during the registration at [Regula Client Portal](https://client.regulaforensics.com/).
26 |
27 | ## Documentation
28 |
29 | Document Reader SDK Mobile Documentation
30 |
31 | ## Demo Application
32 |
33 | Regula Document Reader iOS Demo Application in the App Store
34 |
35 | ## Technical Support
36 |
37 | To submit a request to the Support Team, visit Regula Help Center.
38 |
39 | ## Business Enquiries
40 |
41 | To discuss business opportunities, fill the Enquiry Form and specify your scenarios, applications, and technical requirements.
--------------------------------------------------------------------------------
/RfidCertificates/RfidCertificates-Default-Swift/Podfile:
--------------------------------------------------------------------------------
1 | platform :ios, '13.0'
2 | use_frameworks!
3 |
4 | target 'RfidCertificates-Default-Swift' do
5 | pod 'DocumentReader', '~> 7.7.0'
6 | pod 'DocumentReaderFullRFID', '~> 7.7.0'
7 | end
8 |
--------------------------------------------------------------------------------
/RfidCertificates/RfidCertificates-Default-Swift/README.md:
--------------------------------------------------------------------------------
1 | [](http://cocoapods.org/pods/DocumentReader)
2 | [](http://cocoapods.org/pods/DocumentReader)
3 | [](http://cocoapods.org/pods/DocumentReader)
4 |
5 | # Document Reader SDK RFID Certificates Sample Project (iOS)
6 |
7 | * [Overview](#overview)
8 | * [Documentation](#documentation)
9 | * [Demo Application](#demo-application)
10 | * [Technical Support](#technical-support)
11 | * [Business Enquiries](#business-enquiries)
12 |
13 | ## Overview
14 |
15 | Sample project in Swift, demonstrating how to use PKD certificates for the RFID chip processing.
16 |
17 | ## Installation
18 |
19 | 1. Download or clone the current repository using the command `git clone https://github.com/regulaforensics/DocumentReader-iOS.git`
20 | 2. Open the `RfidCertificates-Default-Swift` project in an IDE.
21 | 3. Run pods `pod install`
22 | 4. Add license and database files to the target:
23 | - Visit [Regula Client Portal](https://client.regulaforensics.com/) to get a trial license (`regula.license` file). The license creation wizard will guide you through the necessary steps.
24 | - Copy the license file to the project: `RfidCertificates/RfidCertificates-Default-Swift/`
25 | - Copy the database file `db.dat` from [Regula Client Portal](https://client.regulaforensics.com/customer/databases) to the project: `RfidCertificates/RfidCertificates-Default-Swift/`
26 | 5. Change the application Bundle ID to the one you have specified during the registration at [Regula Client Portal](https://client.regulaforensics.com/).
27 |
28 | ## Documentation
29 |
30 | Document Reader SDK Mobile Documentation
31 |
32 | ## Demo Application
33 |
34 | Regula Document Reader iOS Demo Application in the App Store
35 |
36 | ## Technical Support
37 |
38 | To submit a request to the Support Team, visit Regula Help Center.
39 |
40 | ## Business Enquiries
41 |
42 | To discuss business opportunities, fill the Enquiry Form and specify your scenarios, applications, and technical requirements.
--------------------------------------------------------------------------------
/RfidCertificates/RfidCertificates-Default-Swift/RfidCertificates-Default-Swift.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/RfidCertificates/RfidCertificates-Default-Swift/RfidCertificates-Default-Swift/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // RfidCertificates-Default-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 22.03.23.
6 | // Copyright © 2023 Regula. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @main
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
17 | // Override point for customization after application launch.
18 | return true
19 | }
20 |
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/RfidCertificates/RfidCertificates-Default-Swift/RfidCertificates-Default-Swift/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/RfidCertificates/RfidCertificates-Default-Swift/RfidCertificates-Default-Swift/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "platform" : "ios",
6 | "size" : "1024x1024"
7 | }
8 | ],
9 | "info" : {
10 | "author" : "xcode",
11 | "version" : 1
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/RfidCertificates/RfidCertificates-Default-Swift/RfidCertificates-Default-Swift/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/RfidCertificates/RfidCertificates-Default-Swift/RfidCertificates-Default-Swift/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/RfidCertificates/RfidCertificates-Default-Swift/RfidCertificates-Default-Swift/Constants.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Constants.swift
3 | // RfidCertificates-Default-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 22.03.23.
6 | // Copyright © 2023 Regula. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | let kRegulaLicenseFile = "regula.license"
12 | let kRegulaDatabaseId = "Full"
13 |
--------------------------------------------------------------------------------
/RfidCertificates/RfidCertificates-Default-Swift/RfidCertificates-Default-Swift/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIApplicationSceneManifest
6 |
7 | UIApplicationSupportsMultipleScenes
8 |
9 | UISceneConfigurations
10 |
11 |
12 | com.apple.developer.nfc.readersession.iso7816.select-identifiers
13 |
14 | A0000002471001
15 | E80704007F00070302
16 | A000000167455349474E
17 | A0000002480100
18 | A0000002480200
19 | A0000002480300
20 | A00000045645444C2D3031
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/RfidCertificates/RfidCertificates-Default-Swift/RfidCertificates-Default-Swift/PKDCertificate+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PKDCertificate+Extensions.swift
3 | // RfidCertificates-Default-Swift
4 | //
5 | // Created by Dmitry Evglevsky on 22.03.23.
6 | // Copyright © 2023 Regula. All rights reserved.
7 | //
8 |
9 | import DocumentReader
10 |
11 | extension PKDCertificate {
12 | static func findResourceType(typeName: String) -> PKDResourceType {
13 | switch typeName.lowercased() {
14 | case "pa":
15 | return PKDResourceType.certificate_PA
16 | case "ta":
17 | return PKDResourceType.certificate_TA
18 | case "ldif":
19 | return PKDResourceType.LDIF
20 | case "crl":
21 | return PKDResourceType.CRL
22 | case "ml":
23 | return PKDResourceType.ML
24 | case "defl":
25 | return PKDResourceType.defL
26 | case "devl":
27 | return PKDResourceType.devL
28 | case "bl":
29 | return PKDResourceType.BL
30 | default:
31 | return PKDResourceType.certificate_PA
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/RfidCertificates/RfidCertificates-Default-Swift/RfidCertificates-Default-Swift/RfidCertificates-Default-Swift.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.developer.nfc.readersession.formats
6 |
7 | TAG
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------