Habilitar el drenaje de debugging en CCPhysicsNode provoca el locking

Versiones: Cocos2D V3.4, Xcode 7.2.1, SpriteBuilder 1.4.9.

Puede download mi proyecto aquí . Fue creado con SpriteBuilder.

Al habilitar el drenaje de debugging en CCPhysicsNode se produce un locking:

CCPhysicsNode *_physicsWorld; _physicsWorld = [CCPhysicsNode node]; _physicsWorld.gravity = ccp(0,0); _physicsWorld.debugDraw = YES;//if debugDraw set to NO, crash will not occur, it happens only when its set to YES _physicsWorld.collisionDelegate = self; [_scene addChild:_physicsWorld]; 

Error:

Falla de aserción en – [CCRenderStateGL initWithBlendMode: shader: shaderUniforms: copyUniforms:]

Mi código para agregar cuerpo físico al CCSprite:

  _PlayerSprite.physicsBody = [CCPhysicsBody bodyWithRect:(CGRect){CGPointZero, _PlayerSprite.contentSize} cornerRadius:0]; // 1 _PlayerSprite.physicsBody.collisionGroup = @"playerGroup"; // 2 [_PhysicsWorld addChild:lobjPlayerSprite z:Z_ORDER_PLAYERS]; 

Entonces el código se bloquea en CCRendererBasicTypes initWithBlendMode :

 -(instancetype)initWithBlendMode:(CCBlendMode *)blendMode shader:(CCShader *)shader shaderUniforms:(NSDictionary *)shaderUniforms copyUniforms:(BOOL)copyUniforms crashes here:- NSAssert(shader, @"CCRenderState: Shader is nil"); 

Su proyecto se creó con SpriteBuilder, que no se ha actualizado desde abril de 2015. La versión de Cocos2D que envía SpriteBuilder se lanzó antes de Xcode 7 y no incluye algunas correcciones necesarias para Xcode 7 y iOS 9. Puede leer más sobre esto aquí .

Para solucionarlo, debe actualizar manualmente Cocos2D. Sigue los pasos del enlace anterior o usa esto como reference (es más visual).