Após girar uma CALayer usando o CABasicAnimation, a camada volta para a posição não rotacionada

Eu estou tentando criar uma moeda caindo. A imagem da moeda é um CALayer com 2 CABasicAnimations sobre ela - uma queda e uma de rotação. Quando a animação caindo chega ao fim, ela permanece lá. A animação de rotação, que é supostamente aleatória e acaba em um ângulo diferente a cada vez, apenas volta à imagem original do CALAyer.

Eu quero que ele fique no ângulo em que terminou a animação. É possível? Como eu faço isso?

Código:

//Moving down animation:
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform.translation.y"];
anim.duration = 1;
anim.autoreverses = NO;
anim.removedOnCompletion = YES;

anim.fromValue = [NSNumber numberWithInt: -80 - row_height * (8 - _col)];
anim.toValue = [NSNumber numberWithInt: 0];

//Rotation Animation:
CABasicAnimation *rota = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
rota.duration = 4;
rota.autoreverses = NO;
rota.removedOnCompletion = NO;
rota.fromValue = [NSNumber numberWithFloat: 0];
rota.toValue = [NSNumber numberWithFloat: 2.5 * 3.15 ];
[cl addAnimation: rota forKey: @"rotation"];
[cl addAnimation: anim forKey: @"animateFalling"];

questionAnswers(3)

yourAnswerToTheQuestion