Is there a way to generate QR code image on iOS

后端 未结 8 2092
-上瘾入骨i
-上瘾入骨i 2020-12-22 19:59

Is there a standard way to generate a QR code and attach it to a mail item from iOS client app (no server code)?

8条回答
  •  粉色の甜心
    2020-12-22 20:39

    Using Swift 2

    import UIKit
    import CoreImage
    
    func createQRFromString(str: String) -> CIImage? {
        let stringData = str.dataUsingEncoding(NSUTF8StringEncoding)
    
        let filter = CIFilter(name: "CIQRCodeGenerator")
    
        filter?.setValue(stringData, forKey: "inputMessage")
    
        filter?.setValue("H", forKey: "inputCorrectionLevel")
    
        return filter?.outputImage
    }
    
    if let img = createQRFromString("Hello world program created by someone") {
        let somImage = UIImage(CIImage: img, scale: 1.0, orientation: UIImageOrientation.Down)
    }
    

    Swift 3.0

    import UIKit
    import CoreImage
    
    func createQRFromString(_ str: String) -> CIImage? {
            let stringData = str.data(using: String.Encoding.utf8)
    
            let filter = CIFilter(name: "CIQRCodeGenerator")
    
            filter?.setValue(stringData, forKey: "inputMessage")
    
            filter?.setValue("H", forKey: "inputCorrectionLevel")
    
            if let img = createQRFromString("Hello world program created by someone") {
                let somImage = UIImage(ciImage: img, scale: 1.0, orientation: UIImageOrientation.down)
            }
    
            return filter?.outputImage
        }
    
    if let img = createQRFromString("Hello world program created by someone") {
                let somImage = UIImage(ciImage: img, scale: 1.0, orientation: UIImageOrientation.down)
            }
    

    Swift 4.2

    private func createQRFromString(str: String) -> CIImage? {
            let stringData = str.data(using: .utf8)
    
            let filter = CIFilter(name: "CIQRCodeGenerator")
            filter?.setValue(stringData, forKey: "inputMessage")
            filter?.setValue("H", forKey: "inputCorrectionLevel")
    
            return filter?.outputImage
        }
    
        var qrCode: UIImage? {
            if let img = createQRFromString(str: "Hello world program created by someone") {
                let someImage = UIImage(
                    ciImage: img,
                    scale: 1.0,
                    orientation: UIImage.Orientation.down
                )
                return someImage
            }
    
            return nil
        }
    

提交回复
热议问题