Swiftpack.co - IDScanNet/IDScanIDParserIOS as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by IDScanNet.
IDScanNet/IDScanIDParserIOS 1.220127.1
The ID Parser Swift Package for iOS
⭐️ 0
🕓 29 weeks ago
iOS
.package(url: "https://github.com/IDScanNet/IDScanIDParserIOS.git", from: "1.220127.1")

IDScanIDParser


Installation

Installing from Xcode (relevant for both Swift and Objective-C projects)

Add the package by selecting Your project namePackage Dependencies+.


Search for the IDScanIDParser using the repo's URL:

https://github.com/IDScanNet/IDScanIDParserIOS

Next, set the Dependency Rule to be Up to Next Major Version and specify the latest version of the package as the lower bound.

Then, select Add Package.


Choose the parsers that you want to add to your project.


Adding IDScanIDParser to a Package.swift

For integration via a Package.swift manifest instead of Xcode, you can add IDScanIDParser to the dependencies array of your package:

let package = Package(
    name: "MyPackage",
    dependencies: [
        .package(url: "https://github.com/IDScanNet/IDScanIDParserIOS", .upToNextMajor(from: "1.0.0"))
    ],
    // ...
)

Then, in any target that depends on the parsers, add it to the dependencies array of that target:

.target(
  name: "MyTarget",
  dependencies: [
    .product(name: "IDScanPDFParser", package: "IDScanIDParserIOS"),
    .product(name: "IDScanMRZParser", package: "IDScanIDParserIOS")
  ]
),

Installing as XCFramework (relevant for both Swift and Objective-C projects)

To install IDScanIDParser as XCFramework, please read here


How to Activate

Obtaining a License Key for PDF Parser

In order to receive the License Key send an email to support@idscan.net with the Bundle ID. Please be sure to provide your order number in the email once ready to upgrade from trial to production mode. A unique Serial number/Registration Key is provided for this Bundle ID.


Usage

Swift

import IDScanPDFParser
import IDScanMRZParser
let pdfParser = IDScanPDFParser(activationKey: "your License key") // = IDScanPDFParser() for demo mode or you can specify activationKey later
let mrzParser = IDScanMRZParser() // IDScanMRZParser is free to use and doesn't need a license key
func resultFromDetector(_ rawString: String, type: String) { //you can use the IDScanIDDetector (https://github.com/IDScanNet/IDScanIDDetectorIOS) to get the raw string from device camera or images
    switch type {
        case "pdf":
            if let parsedData = self.pdfParser.parse(rawString) as? [String : String] {
                self.resultFromParser(parsedData, type: type)
            }
        case "mrz":
            if let parsedData = self.mrzParser.parse(rawString) as? [String : String] {
                self.resultFromParser(parsedData, type: type)
            }
        default: break
    }
}

func resultFromParser(_ parsedData: [String : String], type: String) {
    let firstName = parsedData["firstName"]
    let birthDate = parsedData["birthDate"]
    let licenseNumber = parsedData["licenseNumber"]
    //etc
}

Objective-C

@import IDScanPDFParser;
@import IDScanMRZParser;
@property (strong, nonatomic) IDScanPDFParser *pdfParser;
@property (strong, nonatomic) IDScanMRZParser *mrzParser;
- (void)configureParsers {
    self.pdfParser = [IDScanPDFParser parserWithActivationKey:@"your License key"]; // = [[IDScanPDFDetector alloc] init] for demo mode or you can specify activationKey later
    self.mrzParser = [[IDScanMRZParser alloc] init]; // IDScanMRZParser is free to use and doesn't need a license key
}

- (void)resultFromDetector:(NSString *)rawString type:(NSString *)type { //you can use the IDScanIDDetector (https://github.com/IDScanNet/IDScanIDDetectorIOS) to get the raw string from device camera or images
    if ([type isEqualToString:@"pdf"]) {
        NSDictionary<NSString *, NSString *> *parsedData = [self.pdfParser parse:rawString];
        [self resultFromParser:parsedData type:type];
    } else if ([type isEqualToString:@"mrz"]) {
        NSDictionary<NSString *, NSString *> *parsedData = [self.mrzParser parse:rawString];
        [self resultFromParser:parsedData type:type];
    }
}

- (void)resultFromParser:(NSDictionary<NSString *, NSString *> *)parsedData type:(NSString *)type {
    NSString *firstName = parsedData[@"firstName"];
    NSString *birthDate = parsedData[@"birthDate"];
    NSString *licenseNumber = parsedData[@"licenseNumber"];
    //etc
}

GitHub

link
Stars: 0
Last commit: 28 weeks ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics