Skip to content

Generating a QR code from a string or URL

   

This is a sample code to generate a QR code from a character string or URL.

Reference: CIImageをData型に変換したときにハマった時の対処法(Swift3.0)
SwiftでQRコードを生成してみた

The generated QR code is here.

alt

import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//文字列をNSDataに変換し、QRコードを作成します。
//Converts a string to NSData.
let str = "カビゴン可愛い、大好き"
let data = str.data(using: String.Encoding.utf8)!
//URLをNSDataに変換し、QRコードを作成します。
//Converts a url to NSData.
//let url = "http://swiswiswift.com"
//let data = url.data(using: String.Encoding.utf8)!
//QRコードを生成します。
//Generate QR code.
let qr = CIFilter(name: "CIQRCodeGenerator", withInputParameters: ["inputMessage": data, "inputCorrectionLevel": "M"])!
let sizeTransform = CGAffineTransform(scaleX: 10, y: 10)
let qrImage = qr.outputImage!.transformed(by: sizeTransform)
let context = CIContext()
let cgImage = context.createCGImage(qrImage, from: qrImage.extent)
let uiImage = UIImage(cgImage: cgImage!)
//作成したQRコードを表示します
//Display QR code
let qrImageView = UIImageView()
qrImageView.contentMode = .scaleAspectFit
qrImageView.frame = self.view.frame
qrImageView.image = uiImage
self.view.addSubview(qrImageView)
}
}

  1. Display an alert with UIAlertController
  2. UIAlertController(UIActionSheet)
  3. Enumerated Type
  4. How to learn how to program iPhone apps
  5. Using UserDefaults to save parameters
  6. Selecting values using the UIPickerView
  7. Repeating at a certain time