EXC_BAD_ACCESS 在为 EAGLContext renderbuffer 存储启动时:来自 Drawable:在调试时在 Cocos2d 应用程序中

EXC_BAD_ACCESS at lauch for EAGLContext renderbufferStorage: fromDrawable: in Cocos2d app whie debugging

使用默认 cocos2d-swift 应用程序我在我的 iPad Mini 2 上收到错误 EXC_BAD_ACCESS 行:

BOOL rb_status = [_context renderbufferStorage:GL_RENDERBUFFER fromDrawable:layer];

但是如果我尝试在不调试的情况下启动应用程序,一切正常。如果我在任何虚拟设备上使用调试,我也不会收到任何错误。 为什么它不起作用?如何消除这个错误?

我发现设备没有最新的 iOS 版本。当我更新设备的 iOS 版本时,错误已消除。

这似乎是 iOS 8.3+ 上某些设备的问题。它几乎适用于所有设备,但 iPad mini 2 对我也不起作用。缺点是调用本身没有任何问题。出于某种原因,这些设备似乎存在 Xcode 错误。您可以通过以下方式绕过它(直到 Apple 修复它):

在 Xcode 中,转到产品 -> 方案 -> 编辑方案 ... 对于 运行 调试配置(在左侧)选择 "Options"(在右侧)并将 "GPU Frame Capture" 配置为禁用。

有关更多信息,请查看此线程: https://github.com/BradLarson/GPUImage/issues/2022#issuecomment-118943746