Obtenir une CGImage de CIImage

J'ai une UIImage qui est chargé à partir d'un CIImage avec:

tempImage = [UIImage imageWithCIImage:ciImage];

Le problème est que j'ai besoin de recadrer tempImage à un CGRect et la seule façon que je sais comment faire cela est d'utiliser CGImage.
Le problème est que dans l'iOS 6.0 documentation, j'ai trouvé ceci:

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

A. Comment faire pour convertir de CIImage à CGImage?
Je suis en utilisant ce code mais j'ai une fuite de mémoire (et ne peut pas comprendre d'où):

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

source d'informationauteur tagyro