##バーコード生成用クラスを作成
import AVFoundation
import UIKit
import RSBarcodes
/// バーコードを生成する
final class BarcodeGenerator {
/// 生成予定のコードを検証する
func validateCode(_ code: String, codeObjectType: AVMetadataObject.ObjectType) -> Bool {
return RSUnifiedCodeValidator.shared.isValid(
code,
machineReadableCodeObjectType: codeObjectType.rawValue
)
}
/// コードを生成する
func generateCodeImage(_ code: String, codeObjectType: AVMetadataObject.ObjectType) -> UIImage? {
return RSUnifiedCodeGenerator.shared.generateCode(
code,
machineReadableCodeObjectType: codeObjectType.rawValue
)
}
/// スケールを使ってリサイズする
func resizeCodeImage(_ image: UIImage, scale: CGFloat) -> UIImage? {
return RSAbstractCodeGenerator.resizeImage(image,
scale: scale)
}
/// サイズを指定してリサイズする
func resizeCodeImage(_ image: UIImage, size: CGSize, contentMode: UIView.ContentMode) -> UIImage? {
return RSAbstractCodeGenerator.resizeImage(image,
targetSize: size,
contentMode: contentMode)
}
}
専用のクラスを用意して、ライブラリが持つ機能をメソッド化しました。
import AVFoundation
は必須です。
QRコードを生成する場合は、codeObjectType: AVMetadataObject.ObjectType
を.qr
と指定します。