Crop изображения по маске

swift

#1

Ребята, помогите, пожалуйста реализовать обрезку изображения по маске с дальнейшим сохранением.
Есть функция:

func maskImage(image:UIImage, mask:(UIImage))->UIImage{

    let imageReference = image.cgImage
    let maskReference = mask.cgImage
    
    let imageMask = CGImage(maskWidth: maskReference!.width,
                            height: maskReference!.height,
                            bitsPerComponent: maskReference!.bitsPerComponent,
                            bitsPerPixel: maskReference!.bitsPerPixel,
                            bytesPerRow: maskReference!.bytesPerRow,
                            provider: maskReference!.dataProvider!, decode: nil, shouldInterpolate: true)
    
    let maskedReference = imageReference!.masking(imageMask!)
    
    let maskedImage = UIImage(cgImage:maskedReference!)
    
    return maskedImage
}

Сохранить пытаюсь через функцию:

@IBAction func saveaction(_ sender: UIButton) {

    let imageData = UIImagePNGRepresentation(pickedImaged.image!)
    let compressedPNGImage = self.maskImage(image: UIImage(data: imageData!)!, mask: UIImage(named: "tiDolznaRabotatNaMenyaPadla.png")!)
    UIImageWriteToSavedPhotosAlbum(compressedPNGImage, nil, nil, nil)
}

Сохранение происходит, но без маски…


#2

Сразу банальный вопрос, даже не вникая в проблему.
А вы изменяете и сохраняете одно и тоже? Вы проверяли результат после изменения?перед сохранением, но уже в функции сохранения?