EXC_BAD_ACCESS для запуска EAGLContext renderbufferStorage: fromDrawable: в приложении Cocos2d после отладки
Используя приложение по умолчанию cocos2d-swift, я получаю сообщение об ошибке EXC_BAD_ACCESS на моем iPad Mini 2 в строке:
BOOL rb_status = [_context renderbufferStorage:GL_RENDERBUFFER fromDrawable:layer];
Но если я пытаюсь запустить приложение без отладки, все работает нормально. Если я использую отладку на любом виртуальном устройстве, я тоже не получаю ошибку. Почему это не работает? Как убрать эту ошибку?
2 ответа
Похоже, что это проблема на некоторых устройствах на iOS 8.3+. Он работает для меня почти на всех устройствах, но iPad mini 2 тоже не работает. Суть в том, что в самом вызове нет ничего плохого. Похоже, ошибка Xcode с этими устройствами по какой-то причине. Вы можете обойти это (пока Apple не исправит это):
В Xcode, перейдите к Product -> Scheme -> Edit Schema... И для конфигурации Run Debug (слева) выберите "Options" (справа) и настройте "GPU Frame Capture" как отключенный.
Для получения дополнительной информации, проверьте эту тему: https://github.com/BradLarson/GPUImage/issues/2022
Я обнаружил, что устройство не получило последнюю версию iOS. Когда я обновил iOS-версию устройств, ошибка исчезла.