Your timer is running fine, but your image only rotates once because you are *setting* the rotating to 0.5 radians each time instead of *adding* 0.5 radians each time. Try this.
Code:
//add 0.5 radians each time
playerImage.transform = CGAffineTransformRotate(playerImage.transform,0.5);