iOS – Camera ID Scanning SDK
Camera Scanning SDK – Download
Documentation can be found below.
Contents:
Implementation – top
Objective-C
1. Add BarcodeScanner.xcframework to your project
2. Add BarcodeScanner.xcframework in Embedded Binaries
4. Developers should send an email to support@idscan.net with their app’s Bundle ID in order to receive your “cameraKey”. Make sure you provide your order number if you ready to upgrade from trial to production.
5. To support both device and simulator add this in import section
Objective C
#if TARGET_IPHONE_SIMULATOR #import #else #import #endif
Swift
#if targetEnvironment(simulator) import BarcodeScannerSimulator #else import BarcodeScanner #endif
6. To register the library use [scanner registerCode:@"cameraKey"];
7. To get the result from the image utilize NSString* result = [scanner scanGrayscaleImage: frameBuffer Width: width Height: height Encoding:1];
Use NSStringEncoding
to choose encoding.
8. If you plan to customize the camera interface , in the method (void) CustomeOverlay
for all elements apply [self.view bringSubviewToFront:elementName];
9. To parse the scanned information into a readable format, use the iOS ID Parsing SDK.
Swift
In you Swift project you should follow the same way, as in the Objective-C:
- Add BarcodeScanner.framework and our camera class (ScannerViewController) to you project
- Add you personal camera key Value to User Defaults (for example in the didFinishLaunchingWithOptions: method )
let settings = UserDefaults.standard let key = "" //your key settings.set(key, forKey: "cameraKey") settings.synchronize()
- Make you own class and Inheritance it from ScannerViewController, add a “Close” button to your Camera view controller (don’t forget move the button to the front)
class SwiftViewController: ScannerViewController { override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) let rect : CGRect = CGRect(x: 20, y: 20, width: 100, height: 30) let close: UIButton = UIButton(frame: rect) close.setTitle("Close", for: .normal) close.backgroundColor = UIColor.darkGray close.addTarget(self, action: #selector(closeBtn), for: .touchUpInside) self.view.addSubview(close) self.view.bringSubview(toFront: close) } }
If you want to make you own Camera Class from scratch you should do this:
- Import BarcodeScanner.framework to you project
import BarcodeScanner
- Make instance of scanner
var scanner = Barcode2DScanner()
- Register camera with you key (for example from UserDefaults)
scanner.registerCode(UserDefaults.standard.string(forKey: "cameraKey"))
3. Call scanGrayscaleImage(pp_image: width: height:) method from instance:
var result = scanner.scanGrayscaleImage(UnsafeMutablePointer!, width: Int32, height: Int32)
pp_image – Pointer of grayscale image, describing array of pixels capacity. Capacity = width*length.
Swift implementation of our framework you can download HERE.
IOS – Camera ID Scanning SDK Demo Request
How to Activate – top
IDScan.net offers licensing model based on app’s Bundle ID. You can email us your bundle ID to obtain a trial development key.
Copy your application Bundle ID and email to support@idscan.net
IDScan.net will issue you a unique Serial number/Registration Key for this Bundle ID
There are two ways to apply the serial number.
- During design time, paste the serial number in the file dlpSerial.txt in XCode. The file should contain only the serial number. See the screenshot below:
- To allow the end user to enter the serial, do it programmatically – by applying the method
(yourserial = generated string)
- To allow the end user to enter the serial, do it programmatically – by applying the method
[[NSUserDefaults standardUserDefaults] setValue:yourserial forKey:@"cameraKey"];
Click on “Enter DLP serial” to enter serial key.
- When using both the Camera Scanning SDK and the ID Parsing SDK, you will need to activate both SDKs separately, which you can do by adding another button for the end user with this code:
[[NSUserDefaults standardUserDefaults] setValue:yourserial forKey:@"DriverLicenseParserCurrentSerial"];
or by adding this code to theviewDidLoad
method or your main view, which will allow you to put the Camera SDK key in the first line of dlpSerial.txt and the ID Parsing SDK key in the second line:
- When using both the Camera Scanning SDK and the ID Parsing SDK, you will need to activate both SDKs separately, which you can do by adding another button for the end user with this code:
NSCharacterSet *newLineCharSet = [NSCharacterSet newlineCharacterSet]; NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; NSString *path = [[NSBundle mainBundle] pathForResource:@"dlpSerial" ofType:@"txt"]; NSString *keyFile = [NSString stringWithContentsOfFile:path encoding:NSWindowsCP1252StringEncoding error:NULL]; NSArray *keyLines = [keyFile componentsSeparatedByCharactersInSet:newLineCharSet]; [settings setObject:keyLines[0] forKey:@"cameraKey"]; [settings synchronize]; [[NSUserDefaults standardUserDefaults] setObject:keyLines[1] forKey:@"DriverLicenseParserCurrentSerial"];