我正在更新现有应用程序以支持 iOS 12,但CIFilter
出现了奇怪的问题。
这是具有一个功能的简单类generate()
:
class QRGenerator {
static func generate(from string: String) -> UIImage? {
let context = CIContext()
let data = string.data(using: String.Encoding.ascii)
if let filter = CIFilter(name: "CIQRCodeGenerator") {
filter.setValue(data, forKey: "inputMessage")
let transform = CGAffineTransform(scaleX: 7, y: 7)
if let output = filter.outputImage?.transformed(by: transform), let cgImage = context.createCGImage(output, from: output.extent) {
return UIImage(cgImage: cgImage)
}
}
return nil
}
}
这门课在 iOS 12 之前完美运行。现在排队if let filter = CIFilter(name: "CIQRCodeGenerator")
我总是收到零。
我在 Apple 文档上花了一些时间,但没有找到有关此问题的任何有用信息。