CGImageDestinationFinalize失败,有时会崩溃

时间:2019-04-25 09:54:57

标签: ios swift image-processing cgimage

捕获后,我试图保存一些照片。但是保存CGImageDestinationFinalize时会失败,并且通常会崩溃。

let cgImage: CGImage...

let data: CFMutableData = CFDataCreateMutable(nil, 0)
// Older phones can't save to HEIC, so falling back to JPEG.
let destination
            = CGImageDestinationCreateWithData(data, "public.heic" as CFString, 1, nil)
              ?? CGImageDestinationCreateWithData(data, kUTTypeJPEG as CFString, 1, nil)!

CGImageDestinationAddImage(destination, cgImage, metadata)
NSLog(log: "Check #1") // This line executes
let _ = CGImageDestinationFinalize(destination) // Crashes here (fails/ returns false)
NSLog(log: "Check #2") // not executed
PHPhotoLibrary.save(photo: data as Data, success: success)

它崩溃与:

  

来自调试器的消息:由于内存问题而终止

我在 iPhone7 + iPhoneXS 上对其进行了测试,并且可以正常工作。但是在我的 iPhoneX 上崩溃了。它们都运行 iOS12.2 Screenshot displaying sample body for requesting onCall method in Postman说这是iOS 9中的一个已知问题,已在iOS 10中解决

它不能告诉原因或给我一个堆栈跟踪。任何想法可能有什么问题吗?

0 个答案:

没有答案