Xcode 9.0 beta 3 GPUImage崩溃问题(presentBufferForDisplay)

最近首次使用Xcode 9 编译我三个月前写的一个基于GPUImage的“美颜”相机时,发生了崩溃。


Xcode 9.0 beta 3 GPUImage崩溃问题(presentBufferForDisplay)_第1张图片
崩溃堆栈

崩溃点在于

-[GPUImageContext presentBufferForDisplay]:

这就很懵逼了,GPUImage自己应该不会有问题的,并且回忆当初我收尾该项目的时候,项目是完好的。

于是乎我把关注点放在了Xcode9 以及我的iOS11上。
最后结论就是Xcode 9的问题,在Schema->Run->Options中,GPU Frame Capture默认设置为Automatically Enable,这样会导致该处崩溃。

Xcode 9.0 beta 3 GPUImage崩溃问题(presentBufferForDisplay)_第2张图片
GPU Frame Capture

解决方式就是将其设置为Metal或者Disabled可以解决崩溃问题:


Xcode 9.0 beta 3 GPUImage崩溃问题(presentBufferForDisplay)_第3张图片
Metal

Xcode 9.0 beta 3 GPUImage崩溃问题(presentBufferForDisplay)_第4张图片
可选项

这个崩溃也是很懵逼,我也尝试过使用OpenGLES选项,但是依旧是崩溃。不知这是不是Xcode9 beta的bug。还是期待正式版本的Xcode9了。

你可能感兴趣的:(Xcode 9.0 beta 3 GPUImage崩溃问题(presentBufferForDisplay))