the root view thats hosting all the layers is getting all touches for the layer tree
in there you gotta do
CALayer *touchedLayer = [self.rootLayer hitTest:touches.anyObject.locationInWindow];
from the comment: if you want to check during animations assk your presentation layer:
CALayer *touchedLayer = [self.rootLayer.presentationLayer hitTest:touches.anyObject.locationInWindow];