Ошибка SIGABRT: приложение вылетает, если выполняется forceProcessingAtSize: (GPUImage Framework)

Мое приложение падает в режиме отладки, если я запускаю следующую строку кода:

[brightnessFilter forceProcessingAtSize:imgView2.sizeInPixels];

Это весь код:

UIImage *inputImage = imgView.image;

sourcePicture = [[GPUImagePicture alloc] initWithImage:inputImage smoothlyScaleOutput:YES];
brightnessFilter = [[GPUImageBrightnessFilter alloc] init];
//    sepiaFilter = [[GPUImageSobelEdgeDetectionFilter alloc] init];

GPUImageView *imgView2 = (GPUImageView *)self.view;
[brightnessFilter forceProcessingAtSize:imgView2.sizeInPixels];

[sourcePicture addTarget:brightnessFilter];
[brightnessFilter addTarget:imgView2];

[sourcePicture processImage];

Это журнал:

2014-05-13 16:04:46.671 Picxxr[5341:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView sizeInPixels]: unrecognized selector sent to instance 0x109fbed60'

Мой imgView:

imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 64, 320, 320)];
[self.view addSubview:imgView];

1 ответ

Решение

Код, которым вы поделились, вероятно, находится внутри файла реализации одного из ваших UIViewControllerУ которого, я уверен, есть связанный.xib или он лежит где-то внутри раскадровки.

Теперь возьми это UIViewControllerвыберите корневой вид (белый фон контроллера вида) и измените его класс UIView в GPUImageView как показано здесь.

Другие вопросы по тегам