Uzyskiwanie CGImage z CIImage

Mam UIImage, który jest ładowany z CIImage za pomocą:

tempImage = [UIImage imageWithCIImage:ciImage];

Problem polega na tym, że muszę przyciąćtempImage do konkretnegoCGRect a jedynym sposobem, w jaki wiem, jak to zrobić, jest użycieCGImage. Problem polega na tym, że w dokumentacji systemu iOS 6.0 znalazłem to:

CGImage
If the UIImage object was initialized using a CIImage object, the value of the property is NULL.

A. Jak przekonwertować z CIImage do CGImage? Używam tego kodu, ale mam wyciek pamięci (i nie rozumiem gdzie):

+(UIImage*)UIImageFromCIImage:(CIImage*)ciImage {  
    CGSize size = ciImage.extent.size;  
    UIGraphicsBeginImageContext(size);  
    CGRect rect;  
    rect.origin = CGPointZero;  
    rect.size   = size;  
    UIImage *remImage = [UIImage imageWithCIImage:ciImage];  
    [remImage drawInRect:rect];  
    UIImage *result = UIGraphicsGetImageFromCurrentImageContext();  
    UIGraphicsEndImageContext();  
    remImage = nil;  
    ciImage = nil;  
    //
    return result;  
}

questionAnswers(3)

yourAnswerToTheQuestion