CAKeyframeAnimation *keyAnima = [CAKeyframeAnimation animation];
keyAnima.keyPath=@"position";
CGMutablePathRef aPath = CGPathCreateMutable();
CGPathMoveToPoint(aPath, nil, 20, 20);
CGPathAddCurveToPoint(aPath, nil,
160, 30,
220, 220,
240, 380);
keyAnima.path = aPath;
//1.2设置动画执行完毕后,不删除动画
keyAnima.removedOnCompletion=NO;
//1.3设置保存动画的最新状态
keyAnima.fillMode=kCAFillModeForwards;
//1.4设置动画执行的时间
keyAnima.duration=4.0;
//1.5设置动画的节奏
keyAnima.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
//设置代理,开始—结束
keyAnima.delegate=self;
//2.添加核心动画
[layer addAnimation:keyAnima forKey:@"frameKeyPosition"];
上面的代码在单独的项目中运行没有问题,一旦加入我们的project马上就闪退,我花了一个上午的时间终于解决了问题,把这个NSObject+RMCopyable 删掉就OK了!