GPUImage2 在 新版本 iOS 中出现操控主线程crash

在使用GPUImage2过程中,iOS13 以上版本出现了crash。GPUImage2的作者已经挺久没有维护这个库了。只能自己排查。

在framework/Source/Apple/RenderView-UIKit.swift 中,存在异步线程使用self.layer 导致了crash

直接对源文件进行修改 , 在该文件64行:

sharedImageProcessingContext.context.renderbufferStorage(Int(GL_RENDERBUFFER), from:self.layer as! CAEAGLLayer)

更改为:

runOnMainQueue {       
    sharedImageProcessingContext.context.renderbufferStorage(Int(GL_RENDERBUFFER), from:self.layer as! CAEAGLLayer)
}
修改记录

相关代码上传到了GPUImage2的一个fork上,可以直接下载使用:
https://github.com/liuqiaohong0515/GPUImage2

你可能感兴趣的:(GPUImage2 在 新版本 iOS 中出现操控主线程crash)