Scanning a barcode or a QR code is a pretty common business request. Luckily, almost all users walk around with devices capable of scanning barcodes: their phones.

In this blog post, we are going to step through creating a mobile scanner application using Ionic, Xcode, and an iPhone.

Create a blank app called “IonicCamera”:

ionic start IonicCamera blank

Run the Ionic project:

ionic serve

You should now have a lovely Ionic app. Next, install the barcode scanner plugin:

ionic cordova plugin add phonegap-plugin-barcodescanner
npm install --save @ionic-native/barcode-scanner

At this point, we need to get the barcode plugin wired into Ionic. This is pretty standard Angular-style wiring. We need to add a couple lines to the app.module.ts file, import the BarcodeScanner module, and enable it as a provider.

Since we created a blank Ionic application, we already have a “home” page. This page is located in the pages/home directory. Find the home.ts file and open it in your favorite editor.

We need to make a few edits to this file. First, we will import the scanner module. Second, we will create a property for storing the result of the scan “num.” Third, we will inject the BarcodeScanner module. Last, we will add a scan method that will start the camera and the process of looking for a barcode.

We will need to make a few changes to the home.html file, which is what will be shown to the user. To keep this simple, we will have a button that will call our “scan” method above and a text box that is bound to the “num” property we created above.

Now we just need to build the application by running this from the command line:

ionic cordova build ios

Now you need to open up Xcode, Apple’s development environment for writing applications. Using Xcode, open up the project located at “platforms/ios/IonicCamera.xcodeproj”.

At this point, you could run the application on your iPhone. But don’t.

You need to first make a change to the IonicCamera-Info.plist file. You will need to drop in some text that will be shown before allowing your application to have access to the camera.

<key>NSCameraUsageDescription</key>
<string>Camera Please</string>

Select the device you want to run on.

Then tap the Run button.

You should now have a simple application that can use an iPhone’s camera to read barcodes.

 

References

Sample Source: https://github.com/chadmichel/IonicBarcode

Ionic Getting Started Guide: https://ionicframework.com/getting-started

Ionic Barcode Scanner Plugin: https://ionicframework.com/docs/native/barcode-scanner/

Share This