let rotation = CABasicAnimation(keyPath: "transform.rotation") rotation.fromValue = 0.0 rotation.toValue = Double.pi * 2 rotation.duration = 1.0 rotation.repeatCount = .infinity rotation.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut) rotation.isRemovedOnCompletion = false
こんな感じの無限ループ CAAnimation を設定するときに isRemovedOnCompletion を設定しないと、バックグラウンドから復帰したときにアニメーションが再生されなかったり、 removeAllAnimations() でもアニメが停止できなかったりする。本当にハマるし困る。