2

Is there any way to create data matrix natively in Swift, without using any 3rd party library? I'm searching in the whole internet and cannot find a way of generating data matrix. There are only instructions about generating barcodes:

class Barcode {

  class func fromString(string : String) -> UIImage? {

    let data = string.data(using: .ascii)
    let filter = CIFilter(name: "CICode128BarcodeGenerator")
    filter?.setValue(data, forKey: "inputMessage")

    return UIImage(ciImage: (filter?.outputImage)!)
  }

}

let img = Barcode.fromString("my_string_goes_here")

Is there any way to modify this code to generate data matrix instead of barcodes?

I've tried using also ZXingObjC library to generate data matrix, but I cannot scan the output image later. My code is:

func generateDataMatrix(from xml: String) {
    let writer = ZXMultiFormatWriter()
    let result: ZXBitMatrix? = try? writer.encode(xml, format: kBarcodeFormatDataMatrix, width: Int32(barcodeImageView.frame.width), height: Int32(barcodeImageView.frame.height))
    if result != nil {
        let image: CGImage = ZXImage(matrix: result).cgimage

        barcodeImageView.image = UIImage(cgImage: image)
    }
}

I really appreciate any your help! Thanks in advance!

J. Doe
  • 521
  • 4
  • 15

0 Answers0