title: Grouping two Core Animations with CAAnimationGroup causes one CABasicAnimation to not run
body: <p>I have two animations that I'm trying to perform on a UILabel on the iPhone with OS 3.1.2. The first rocks the UILabel back and forth:</p>
  
  <pre><code>CAKeyframeAnimation *rock;
  rock = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation.z"];
  [rock setBeginTime:0.0f];
  [rock setDuration:5.0];
  [rock setRepeatCount:10000];
  
  NSMutableArray *values = [NSMutableArray array];
  MovingMath *math = [[MovingMath alloc] init];
  
  // Center start position
  [values addObject:[math DegreesToNumber:0]];
  
  // Turn right
  [values addObject:[math DegreesToNumber:-10]];
  
  // Turn left
  [values addObject:[math DegreesToNumber:10]];
  
  // Re-center
  [values addObject:[math DegreesToNumber:0]];
  
  // Set the values for the animation
  [rock setValues:values];
  
  [math release];
  </code></pre>
  
  <p>The second zooms the UILabel so that it becomes larger:</p>
  
  <pre><code>NSValue *value = nil;
  CABasicAnimation *animation = nil;
  CATransform3D transform;
  animation = [CABasicAnimation animationWithKeyPath:@"transform"];
  transform = CATransform3DMakeScale(3.5f, 3.5f, 1.0f);
  value = [NSValue valueWithCATransform3D:transform];
  [animation setToValue:value];
  transform = CATransform3DMakeScale(1.0f, 1.0f, 1.0f);
  value = [NSValue valueWithCATransform3D:transform];
  [animation setFromValue:value];
  [animation setAutoreverses:YES];
  [animation setDuration:30.0f];
  [animation setRepeatCount:10000];
  [animation setBeginTime:0.0f];
  </code></pre>
  
  <p>Adding either one of these animations directly to the UILabel's layer works as expected.</p>
  
  <p>However, if I try to group the animations together, the first "rocking" animation does not function:</p>
  
  <pre><code>CAAnimationGroup *theGroup = [CAAnimationGroup animation];
  
  theGroup.duration = 5.0;
  theGroup.repeatCount = 10000;
  theGroup.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
  theGroup.animations = [NSArray arrayWithObjects:[self rockAnimation], [self zoomAnimation], nil]; // you can add more
  
  // Add the animation group to the layer
  [[self layer] addAnimation:theGroup forKey:@"zoomAndRotate"];
  </code></pre>
  
  <p>The order of adding the animations to the group does not matter. Instead of zooming, in the manner above, I tried changing the bounds, but that was unsuccessful as well. Any insight would be greatly appreciated. Thank you.</p>