iOS: enmascara un UIImage usando UIBezierPath

Estoy tratando de enmascarar una imagen para poder darle solo dos esquinas redondeadas. Con el código que tengo, solo agrega la máscara en blanco sobre la imagen, pero no parece aplicarla. ¿Qué necesito hacer diferente para enmascarar las esquinas de la imagen?

CAShapeLayer *maskLayer = [CAShapeLayer layer];
UIBezierPath *roundedPath = [UIBezierPath bezierPathWithRoundedRect:maskLayer.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(16.f, 16.f)];    
maskLayer.fillColor = [[UIColor whiteColor] CGColor];
maskLayer.backgroundColor = [[UIColor clearColor] CGColor];
maskLayer.path = [roundedPath CGPath];

// Add mask
self.imageView.layer.mask = maskLayer;

Respuestas a la pregunta(1)

Su respuesta a la pregunta