Ios UIImageJPEG表示返回nil(在设备上-在模拟器上正常)
当我使用generateBarcode(“ABCDEF”)创建条形码UIImage并调用UIImageJPEGRepresentation或UIImagePNGRepresentation时,我在iOS设备上得到零(在模拟器或游乐场上正常工作) 由于调试器也无法显示UIImage,UIImage中显然仍有错误。图像存在,设置了cgImage属性,但UIImageJPEGRepresentation不喜欢它 我已尝试按照以下方式解决此问题:Ios UIImageJPEG表示返回nil(在设备上-在模拟器上正常),ios,swift,null,uiimage,Ios,Swift,Null,Uiimage,当我使用generateBarcode(“ABCDEF”)创建条形码UIImage并调用UIImageJPEGRepresentation或UIImagePNGRepresentation时,我在iOS设备上得到零(在模拟器或游乐场上正常工作) 由于调试器也无法显示UIImage,UIImage中显然仍有错误。图像存在,设置了cgImage属性,但UIImageJPEGRepresentation不喜欢它 我已尝试按照以下方式解决此问题: 你使用的是什么类型的设备?使用的是最近的10.5英寸iP
你使用的是什么类型的设备?使用的是最近的10.5英寸iPad(MPHJ2B/a),iOS 10.3.3如返回值部分所述:包含JPEG数据的数据对象,如果生成数据时出现问题,则返回nil。如果图像没有数据,或者基础CGImageRef包含不受支持的位图格式的数据,则此函数可能返回nil。因此,我认为,在您的情况下,生成数据时会出现问题。M可能您的设备或其他设备上没有内存。可能的解决方案重新加载您的设备并删除并重新安装您的应用程序。谢谢。我将尝试其他设备来删除新的iPad,但我怀疑,正如您所说,可能的罪魁祸首是CIFilter功能。那么,您解决了这个问题了吗?或者它在其他设备上是否正常工作?什么类型的设备ce u正在使用?使用最近的10.5英寸iPad(MPHJ2B/a),iOS 10.3.3如返回值部分所述:包含JPEG数据的数据对象,如果生成数据时出现问题,则为零。如果图像没有数据,或者基础CGImageRef包含不受支持的位图格式的数据,则此函数可能返回nil。因此,我认为,在您的情况下,生成数据时存在问题。也许你的设备上没有内存或其他东西。可能的解决方案重新加载您的设备,删除并重新安装您的应用。谢谢。我将尝试另一种设备来淘汰新的iPad,但正如你所说,我怀疑可能的罪魁祸首是CIFilter功能。那么,你解决了这个问题了吗?或者它在另一种设备上能正常工作吗?
class func generateBarcode(from string: String) -> UIImage? {
let data = string.data(using: String.Encoding.ascii)
if let filter = CIFilter(name: "CICode128BarcodeGenerator") {
filter.setValue(data, forKey: "inputMessage")
if let ciImage = filter.outputImage {
if let cgImange = convertCIImageToCGImage(inputImage: ciImage) {
return UIImage(cgImage: cgImange)
}
}
}
return nil
}
class func convertCIImageToCGImage(inputImage: CIImage) -> CGImage? {
let context = CIContext(options: nil)
if let cgImage = context.createCGImage(inputImage, from: inputImage.extent) {
return cgImage
}
return nil
}