GPUImage 无法在 iOS 12 上编译

GPUImage won't compile on iOS 12

我有这些错误:

  1. Cocoa.h File Not Found (in GPUImageView.h)

  2. Unknown Type Name: **NSOpenGLContext, CVOpenGLESTextureCacheRef (GPUImageContext)

现在,我试图修复所有这些错误,但结果却让事情变得更糟。

我知道 OpenGL ES 在 iOS 12 中已被弃用,但据我了解弃用,它目前应该仍然有效,对吗?

对于错误 #1,我不明白 MAC OS 框架 (cocoa.h) 在这里做什么(一些参考文献没有用 #IFDEF MAC_OS 语句)。

至于错误 #2,这些类型是在 AppKit 框架(也是 MAC_OS 框架,而不是 iOS 框架)中定义的。

我考虑过切换到 GPUImage2,但工作量很大,因为它不像交换框架那么容易,我将有很多代码要重写。我还看到 Brad Larson(这个框架背后的半神)已经开始研究 GPUImage3,它将使用 Metal 而不是 OpenGL ES,但它仍在进行中,但它不会是从 GPUImage v1 到 GPUImage 的简单交换v3。

我找到了修复它的方法。也许它会帮助有同样问题的人。 GPUImage 主文件夹包含 iOS 和 MAC 项目。

转到 framework 文件夹,然后删除 GPUImageMac.xcodeproj 文件。

然后转到位于 framework 文件夹中的 Source 文件夹,并删除名为 [= 的整个文件夹33=].

清理您的项目并重建。瞧!

祝你好运!