The bellow code is not repeating inspite of explicitly setting the SKAction as repeatActionForever.
SKAction *action = [SKAction moveToY:self.frame.size.height + bullet.size.height duration:2];
SKAction *remove = [SKAction removeFromParent];
SKAction *fireForever = [SKAction repeatActionForever:[SKAction sequence:@[action,remove]]];
[bullet runAction:fireForever];
The bullet just fires once , when its expected to be fired every 1 second.