– : selector no reconocido enviado a instancia

Estuve usando filters de CI y obteniendo un error extraño, ¿cómo puedo saber qué me falta al search en el logging

CIFilter *filter = [CIFilter filterWithName:@"CIFalseColor"]; [filter setValue:image forKey:@"inputImage"]; CIColor *myBlue = [CIColor colorWithRed:0.0 green:0.0 blue:0.6 alpha:0.5]; [filter setValue:myBlue forKey:@"inputColor0"]; CIImage *filtenetworkingImageData = [filter valueForKey:@"outputImage"]; UIImage *newImage = [UIImage imageWithCIImage:filtenetworkingImageData]; _imageView.image=newImage; 2014-02-22 16:04:12.002 colorMaker[1574:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImage _imageByUnpremultiplying]: unrecognized selector sent to instance 0x8b7aca0' libc++abi.dylib: terminating with uncaught exception of type NSException (lldb) 

Esta exception sucedería si el object que configuró como "inputImage" es un UIImage . De acuerdo con la documentation, el object inputImage tiene que ser un CIImage .

Intente primero get el CIImage de UIImage.

 [filter setValue:image.CIImage forKey:@"inputImage"]; ^^^^^^^ 

Después de que la ayuda de Matthia finalmente pudo resolverlo. El código correcto es …

 CIFilter *filter = [CIFilter filterWithName:@"CIFalseColor"]; CIImage * beginImage = [CIImage imageWithCGImage:image.CGImage]; // set value must be of ciimage not uiimage [filter setValue:beginImage forKey:@"inputImage"]; CIColor *myBlue = [CIColor colorWithRed:0.0 green:0.0 blue:0.6 alpha:0.5]; [filter setValue:myBlue forKey:@"inputColor0"]; CIImage *filtenetworkingImageData = [filter valueForKey:@"outputImage"]; UIImage *newImage = [UIImage imageWithCIImage:filtenetworkingImageData]; _imageView.image=newImage;