Как вы маскируете изображение, используя пути? Я пытаюсь нарисовать линию, используя CGContextStrokePath, и показать только те части CGLayerRef, которые находятся под ней. Кроме того, как вы стираете только те части CGLayerRef которые под ним?
CGContextStrokePath
CGLayerRef
Также посмотрите документы для CGContextSetBlendMode(), особенно при использовании с kCGBlendModeClear.
CGContextSetBlendMode()
kCGBlendModeClear