Code Monkey home page Code Monkey logo

swiftqrcodescanner's Introduction

SwiftQRCodeScanner

QR Scanner

Features

  • Easy to use
  • Customize everything
  • Scan QR Code from saved photos

Screenshots

Without camera and flash

With camera and flash

Example

To run the example project, clone the repo, go to Example folder and open SwiftQRScanner.xcworkspace.

Requirements

  • iOS 10.0
  • Xcode 11.0+
  • Swift 5

Installation

Using CocoaPods

SwiftQRScanner is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'SwiftQRScanner', :git => ‘https://github.com/vinodiOS/SwiftQRScanner’

Manual Installation

Download the latest version ,then unzip & drag-drop the Classes folder inside your iOS project. You can do that directly within Xcode, just be sure you have the copy items if needed and the create groups options checked.

How to use

Import SwiftQRScanner module and confirm to the QRScannerCodeDelegate protocol.

import SwiftQRScanner

class ViewController: UIViewController {
}

extension ViewController: QRScannerCodeDelegate {
}

Create instance of SwiftQRScanner to scan QR code.

let scanner = QRCodeScannerController()
scanner.delegate = self
self.present(scanner, animated: true, completion: nil)

To use more features like camera switch, flash and many other options use QRScannerConfiguration:

var configuration = QRScannerConfiguration()
configuration.cameraImage = UIImage(named: "camera")
configuration.flashOnImage = UIImage(named: "flash-on")
configuration.galleryImage = UIImage(named: "photos")

let scanner = QRCodeScannerController(qrScannerConfiguration: configuration)
scanner.delegate = self
self.present(scanner, animated: true, completion: nil)

You can use following QRScannerConfiguration properties:

Property Name Default Value Description
title "Scan QR Code" Title of SwiftQRCodeScanner
hint "Align QR code within frame to scan" Hint for QR Code scan suggestion
uploadFromPhotosTitle "Upload from photos" Button title for pick QR Code from saved photos
invalidQRCodeAlertTitle "Invalid QR Code" Title for Alert if invalid QR Code
invalidQRCodeAlertActionTitle "OK" Title for Action if invalid QR Code
cameraImage nil Image for camera switch button
flashOnImage nil Image for flash button
length 20.0 Length of QR Code scanning frame
color green Color of QR Code scanning frame
radius 10.0 Corner Radius of QR Code scanning frame
thickness 5.0 Corner Thickness of QR Code scanning frame
readQRFromPhotos true Hide/show "Upload From photos" button
cancelButtonTitle "Cancel" Title for cancel button
cancelButtonTintColor nil Color for cancel button

And finally implement delegate methods to get result:

func qrScanner(_ controller: UIViewController, scanDidComplete result: String) {
    print("result:\(result)")
}

func qrScannerDidFail(_ controller: UIViewController, error: QRCodeError) {
    print("error:\(error.localizedDescription)")
}

func qrScannerDidCancel(_ controller: UIViewController) {
    print("SwiftQRScanner did cancel")
}

Author

Vinod, [email protected]

License

SwiftQRScanner is available under the MIT license. See the LICENSE file for more info.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.