在iOS8.1上创建CIContext但不是9或10时的EXC_BAD_ACCESS

时间:2016-07-20 17:52:30

标签: ios ios8 exc-bad-access core-image

我在CIContext *context = [CIContext contextWithOptions:nil];

行上获得了exc_bad_access

我已启用僵尸并使用乐器进行检查:没有运气。

完整的代码是:

- (UIImage *) doBinarize:(UIImage *)sourceImage withThreshold:(float)threshold {
    UIImage *newImage; 
    if (sourceImage){

        CIContext *context = [CIContext contextWithOptions:nil];
        CIImage *image = [[CIImage alloc] initWithImage:sourceImage];
        CIImage *cImg = [self AdaptiveThresholdFilter:image withThreshold:threshold];
        CIImage *ciImage = cImg;
        CGImageRef cgImage   = [context createCGImage:ciImage fromRect:CGRectMake(0, 0, sourceImage.size.width, sourceImage.size.height)];
        newImage = [UIImage imageWithCGImage:cgImage];
        CGImageRelease(cgImage);
    } else {
        return nil;
    }

    return newImage;
}

但是我发现几乎在我放置CIContext contextWithOptions行的任何地方,应用程序都会崩溃。

这是在iOS8.1,iPhone 5C上。应该注意的是iOS9或iOS10没有问题。

有什么建议吗?

0 个答案:

没有答案