Seems like you need a CADisplayLink
to do the job, like described here: Detecting collision, during a CAKeyFrameAnimation
Basically:
A CADisplayLink object is a timer object that allows your application to synchronize its drawing to the refresh rate of the display.
Your application creates a new display link, providing a target object and a selector to be called when the screen is updated. Next, your application adds the display link to a run loop.