CocoaPods trunk is moving to be read-only. Read more on the blog, there are 18 months to go.

MSCodeScanner 1.1.0

MSCodeScanner 1.1.0

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Mar 2017
SwiftSwift Version 3.0
SPMSupports SPM

Maintained by owner.



  • By
  • masashi-sutou

MSCodeScanner

Overview

  • Generate code
    • QR
    • Code128Barcode

  • Detect photo
    • QR

  • Detect by camera
    • QR
    • Code128Barcode

Requirement

  • Xcode 8
  • Swift 3
  • iOS 8.0 or later

Usage

Generate code

  • QR
self.imageView.image = MSCode.generateQRCode(text: "message")
  • Code128Barcode
self.imageView.image = MSCode.generate128Barcode(text: "message")

Detect photo

  • QR
// MARK: UINavigationControllerDelegate, UIImagePickerControllerDelegate

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {

    if let selectedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {

        let messages: [String] = MSCode.detectQRCodes(image: selectedImage)
        if messages.count > 0 {
            self.textView.text = messages.first
        } else {
            self.textView.text = "[Not Found QR Code in Photo]"
        }
    }

    dismiss(animated: true, completion: nil)
}

Detect by camera

  • QR
import UIKit
import AVFoundation
import MSCodeScanner

final class QRCodeDetectForCameraViewController: UIViewController {

    private var scanner: MSCodeScanner!

    override func viewDidLoad() {

        super.viewDidLoad()

        self.navigationItem.title = "Detect QR code from Camera"
        self.view.backgroundColor = .groupTableViewBackground

        self.scanner = MSCodeScanner(metadataObjectTypes: [AVMetadataObjectTypeQRCode], preview: self.view)
    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)

        MSCodeScanner.requestCameraPermission { (success) in
            if success {
                self.scanner.scan(resultOutputs: { (outputs) in
                    print(outputs)
                })
            }
        }
    }
}
  • Code128Barcode
import UIKit
import AVFoundation
import MSCodeScanner

final class BarcodeDetectForCameraViewController: UIViewController {

    private var scanner: MSCodeScanner!

    override func viewDidLoad() {

        super.viewDidLoad()

        self.navigationItem.title = "Detect Barcode from Camera"
        self.view.backgroundColor = .groupTableViewBackground

        self.scanner = MSCodeScanner(metadataObjectTypes: [AVMetadataObjectTypeEAN8Code, AVMetadataObjectTypeEAN13Code, AVMetadataObjectTypeCode128Code], preview: self.view)
    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)

        MSCodeScanner.requestCameraPermission { (success) in
            if success {
                self.scanner.scan(resultOutputs: { (outputs) in

                    print(outputs)

                    if let isbn = outputs.first?.convartISBN() {
                        self.scanner.stop()
                        isbn.searchAamazon()
                    }
                })
            }
        }
    }
}

Licence

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