Ошибка 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
как показано здесь.