iOS: mascara uma UIImage usando UIBezierPath

Estou tentando mascarar uma imagem para que eu possa dar apenas dois cantos arredondados. Com o código que tenho, apenas adiciona a máscara em branco sobre a imagem, mas parece não aplicá-la. O que preciso fazer diferente para mascarar os cantos da imagem?

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;