Obtendo um CGImage do CIImage

Eu tenho um UIImage que é carregado de um CIImage com:

tempImage = [UIImage imageWithCIImage:ciImage];

O problema é que eu preciso cortartempImage para um específicoCGRect e a única maneira que eu sei como fazer isso é usandoCGImage. O problema é que na documentação do iOS 6.0 eu encontrei isto:

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

A. Como converter de CIImage para CGImage? Estou usando esse código, mas tenho um vazamento de memória (e não consigo entender onde):

+(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