Swift 4中如何设置QRCode版本

How to set QRCode version in Swift 4

使用 Core Graphic 库,我能够生成几乎任何类型的 . QR-Code,但是,我无法控制 Swift.

使用的版本

根据http://www.qrcode.com/en/about/version.html有几个版本,分别是

当前代码:

let filter = CIFilter(name: "CIQRCodeGenerator")
filter?.setValue(vcard, forKey: "inputMessage")
filter?.setValue("M", forKey: "inputCorrectionLevel")

if let output = filter?.outputImage {
  let scaleX = qrCode.frame.size.width / output.extent.size.width
  let scaleY = qrCode.frame.size.height / output.extent.size.height
  let transform = CGAffineTransform(scaleX: scaleX, y: scaleY)
  let scaledOutput = output.transformed(by: transform)
  self.qrCode.image = UIImage(ciImage: scaledOutput)
}

不允许我控制所使用的二维码版本。它只确保生成的图像不模糊,就是这样。

有没有办法,至于校正级别,将二维码版本传递给Core Image lib?

根据 documentation

Generates an output image representing the input data according to the ISO/IEC 18004:2006 standard.

我认为是版本 2。版本 3 是 ISO/IEC 18004:2015 标准。根据文档无法更改 QR 版本。