QR / Barcode Reader iOS Tutorial
1. Overview
2. iOS Development
2.1 Create Instants
2.2 Start / Stop Reader
2.3 Use Read Information
3. Reference
3.1 API Reference
3.2 Sample
1. Overview
Start developing MAXST ARSDK QR/Barcode Tracker on iOS Platform. Refer to QR/Barcode Reader Introduction for detailed information.
Refer to Tracker Coordinate System to better understand 3D coordinate system of QR/Barcode Reader.
| Prerequisite |
|---|
| QR/Barcode Reader Introduction |
| Tracker Coordinate System |
2. iOS Development
Start developing on xCode using Swift. Refer to Requirements & Supports to find out which devices are supported.
ARSDK has to properly integrate on iOS UIViewController. Refer to Life Cycle documents for detail.
2.1 Create Instants
var cameraDevice:MasCameraDevice = MasCameraDevice() var trackingManager:MasTrackerManager = MasTrackerManager()
2.2 Start / Stop Reader
To start or stop the Reader, refer to the following code.
※ To change the tracker, destroyTracker() should be called before
@objc func resumeAR()
{
...
trackingManager.start(.TRACKER_TYPE_CODE_SCANNER)
}
@objc func pauseAR()
{
trackingManager.stopTracker()
...
}
2.3 Use Read Information
When you illuminate QR code or Barcode, the code name is displayed on the screen. Refer to the following code to use the Read information.
※ startTracker() should be called before
func draw(in view: MTKView) {
...
let backgroundImage:MasTrackedImage = trackingState.getImage()
var backgroundProjectionMatrix:matrix_float4x4 = cameraDevice.getBackgroundPlaneProjectionMatrix()
if let cameraQuad = backgroundCameraQuad {
cameraQuad.setProjectionMatrix(projectionMatrix: backgroundProjectionMatrix)
cameraQuad.draw(commandEncoder: commandEncoder, image: backgroundImage)
}
let codeScanResult:String = trackingState.getCodeScanResult()
if codeScanResult != "" {
let objectData:Data = codeScanResult.data(using: String.Encoding.utf8)!
let json = try! JSONSerialization.jsonObject(with: objectData, options: JSONSerialization.ReadingOptions.mutableContainers) as! [String: String]
self.formatLabel.text = json["Format"]
self.codeLabel.text = json["Value"]
trackingManager.stopTracker()
self.scanButton.alpha = 1.0
self.scanButton.isEnabled = true
self.scanButton.setTitle("Start Scan", for: .normal)
}
...
}
3. References
These are additional references to develop QR/Barcode Tracker
3.1 API Reference
Following documents explain classes and functions used to run QR/Barcode Tracker.
3.2 Sample
For information regarding sample build and run of QR/Barcode Tracker, refer to Sample
