Pause an SKAction in Spritekit with Swift

An alternative to @Whirlwind 's answer, in case you have a bunch of actions that need to be paused that are not in a group and not just the movement, is to just pause the node itself. All SKNodes have a paused property associated with it.

Ex. square.paused = true


You should run an action with key:

 square.runAction(SKAction.repeatActionForever(moveSequence), withKey:"moving")

Then, use action's speed property to pause it:

if let action = square.actionForKey("moving") {

        action.speed = 0       
}

or to unpause it:

action.speed = 1