UIImage проблемы маскировки iOS 7

Я заимствовал (стандартный) код, который применяет маску UIImage в градациях серого к UIImage.}

- (void) maskImage:(UIImage *)image withMask:(UIImage *)maskImage {

    CGImageRef imageRef = image.CGImage;  // main UIImage
    CGImageRef maskRef = maskImage.CGImage;  // grayscale UIImage mask

    CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
                                    CGImageGetHeight(maskRef),
                                    CGImageGetBitsPerComponent(maskRef),
                                    CGImageGetBitsPerPixel(maskRef),
                                    CGImageGetBytesPerRow(maskRef),
                                    CGImageGetDataProvider(maskRef), NULL, false);

    CGImageRef masked = CGImageCreateWithMask(imageRef, mask);

    maskedImage = [UIImage imageWithCGImage:masked];
    CGImageRelease(mask);
    CGImageRelease(masked);

    imageView.image = maskedImage;

Затем я сохраняю imageView.image в файл. Код работает как брелок в iOS 6 и 6.1; сохраненное изображение содержит основной UIImage с примененной маской. Тем не менее, я заметил, что этот код не работает так же, как в iOS 7 (iPhone). В iOS 7 сохраненное изображение содержит только основной UIImage без примененной маски. Я не уверен, заключается ли проблема в методе CGImageCreateWithMask () или в другом месте.

Любое понимание будет оценено. Огромное спасибо заранее.

Ответы на вопрос(3)

Ваш ответ на вопрос