iphone - Sprite Kit iOS 7.1 crash on wasRemovedFromTargetAtTime -


i have crash in sprite kit on ios 7.1. tried build xcode 5.0.2 , 5.1. results same. still crashing on ios 7.1 devices.

here attached screenshots.

enter image description here enter image description here

i found code generated crash.

- (watdirection *)pandown { watdirection *direction = [[watdirection alloc] init];  cgfloat newy = 830;  @weakify(self) [direction addstarthandler:^(watdirection *direction) {     @strongify(self)      self.panningdown = yes;      [self runaction:[self animatenextarrowfadeout] withkey:@"next_arrow"];      // move scene     skaction *pandown = [skaction movetoy:newy duration:1.5];     pandown.timingmode = skactiontimingeaseineaseout;      [self.rootnode runaction:pandown withkey:@"pandown"];      // fade in pipes     sknode *pipes = [self.rootnode childnodewithname:@"pipes"];      skaction *fadein = [skaction sequence:@[         [skaction waitforduration:0.3],         [skaction fadealphato:1 duration:0.6]     ]];      [pipes runaction:fadein withkey:@"fadein"];      [pipes enumeratechildnodeswithname:@"pipe" usingblock:^(sknode *node, bool *stop) {         skaction *fadein = [skaction sequence:@[             [skaction waitforduration:1.1],             [skaction fadealphato:1 duration:0.6],         ]];          [node runaction:fadein withkey:@"fadein"];     }];      // fade out overlay     sknode *pipesoverlay = [pipes childnodewithname:@"pipes_overlay"];      skaction *fadeout = [skaction sequence:@[         [skaction waitforduration:3.0],         [skaction fadealphato:0 duration:0.5],         [skaction removefromparent]     ]];      [pipesoverlay runaction:fadeout withkey:@"fadeout"];      [self runaction:[skaction sequence:@[         [skaction waitforduration:3.5],         [skaction runblock:^{             [direction finish];         }]     ]]]; }];  [direction addfinishhandler:^(watdirection *direction) {     @strongify(self)      [self runaction:[self animatenextarrowfadein] withkey:@"next_arrow"];      self.panningdown = no;     self.panneddown = yes; }];  [direction addcancelhandler:^(watdirection *direction) {     @strongify(self)      skaction *pandown = [skaction movetoy:newy duration:0];      [self.rootnode runaction:pandown withkey:@"pandown"];      sknode *pipesoverlay = [self childnodewithname:@"//pipes_overlay"];     [pipesoverlay removefromparent];      [self runaction:[self animatenextarrowfadein] withkey:@"next_arrow"];      self.panningdown = no;     self.panneddown = yes; }];  return direction; 

}

these 2 lines problem:

@strongify(self)      [self runaction:[self animatenextarrowfadein] withkey:@"next_arrow"]; 

any ideas on this?

found problem. there 2 actions same animationkey @"next_arrow".

[self runaction:[self animatenextarrowfadein] withkey:@"next_arrow"]; 

second actions starts before first action finishes. second action tries remove animation key queue there no action key because first action removed queue.

the fix rename action key second animation.

[self runaction:[self animatenextarrowfadein] withkey:@"next_arrow_down"]; 

thanks support!


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -