If you look into the file CCSpriteBatchNode.m, line #232, you will see the following assertion: “CCSpriteBatchNode doesn’t contain the sprite. Can’t remove it”. That means that your code is calling the removeChild method on CCSpriteBatchNode, but the child you are passing in was never added to that batch node using the addChild method. In other words, you are trying to remove something that is not there. This failed assertion is crashing your game.
This is not a problem. It’s just an announcement that tells you that the size of your TextureAtlas (used internally by CCSpriteBatchNode) has been expanded to accommodate the number of children that it can contain. No reason for alarm. It’s more of a “Oh, interesting…” moment.
I have encountered the same earlier too. I couldn’t reason it.
@Karvus: If you try to emit the details of the culprit child before removal, you would see that child will have the same address of a child just removed and the culprit sprite will have the atlas index -1. I dint spend much time to find an explanation, but will be happy if someone could find a solution ;).