UPDATE: Reference #19285042 and submit bug reports to apple

非常奇怪的错误,在网上找不到任何东西.上面写着"BSXPCMessage收到错误消息:连接中断"

我只是在做一些基本的过滤apply.仅当我重新分配UIImageView时,才会出现错误消息.图像到另一个UIImage.如果我只注释那一行,我就不会得到错误.所以,如果你能想到为什么在我给UIImageView分配一个过滤后的图像时会出现这个消息,这将非常有帮助.

如果你能提出这个错误的原因,我将不胜感激.

#import "FilterTestsViewController.h"

@interface FilterTestsViewController ()

@end

@implementation FilterTestsViewController

UIImage* _originalImage;
UIImage* _filterImage;
UIImageView* _uiImageView;

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self initialize];
    //flip image by 180*

}

-(void)initialize
{
    _originalImage = [UIImage imageNamed:@"ja.jpg"]; //creates image from file, this will result in a nil CIImage but a valid CGImage;
    [self createFilterImage];
    _uiImageView = [[UIImageView alloc] initWithImage:_filterImage]; //creates a UIImageView with the UIImage
    [self.view addSubview:_uiImageView]; //adds the UIImageView to view;
}

-(void)createFilterImage
{
    NSString* filterName = @"CIFalseColor";
    CIImage* ciImage = [CIImage imageWithCGImage:_originalImage.CGImage];
    CIFilter* filter = [CIFilter filterWithName:filterName keysAndValues:kCIInputImageKey,ciImage, nil];
    _filterImage = [UIImage imageWithCIImage:[filter outputImage]];
}

@end

推荐答案

您收到的消息是由于iOS 8中的CIFilter错误.

XPC服务将提供reduce crashes by isolating less stable components种服务,比如过滤器和插件.这通常不是致命的,通过启动并重新启动服务可以恢复连接.因为这不是一个长期运行的服务,而只是一个操作,所以很可能您的图像过滤器实际上没有被apply.

这在iOS 8中是一个很大的漏洞,你可以提交一份Radar(漏洞报告),让苹果知道iOS 8(又一个)有漏洞.

如果你打算这么做,你应该安装Quick Radar,跟踪雷达号,并用同样的问题回答关于堆栈溢出的许多其他类似问题.鼓励其他人提交一份重复的雷达报告,参考你的原始版本.这将给苹果带来更多的关注.

苹果真的很快推出了这一款.如果你能让不同的CIFilter子类做你想做的事情,previously mentioned workaround就可以了.否则,您只需在复制图像、保存其NSData表示或以其他方式将其从CIImage工作流中删除方面进行修补.

Objective-c相关问答推荐

NSViewController 中的 viewDidLoad?

导航回上一个视图控制器

viewWillAppear,viewDidAppear 没有被调用,没有触发

NSDateFormatter,我做错了什么还是这是一个错误?

在 Objective-C 中访问命令行参数

对块进行类型定义是如何工作的

iOS 5 不允许将下载的数据存储在 Documents 目录中?

Lipo错误!!无法打开输入文件

'supportedInterfaceOrientations' 实现中的返回类型冲突: - 警告

既然我正在使用 Core Data,如何对我的模型进行单元测试?

对 NSTimer 目标的弱引用以防止保留循环

检测 UITableView 滚动

UITableViewCell 点击展开

IOS 中的圆形进度条

通过将另一个字符串重复给定次数来创建 NSString

为什么我们不能在当前队列上使用 dispatch_sync?

为什么 Select Emacs/Vim/Textmate? Xcode 还不够好吗?

如何让 UITextView 检测网站、邮件和电话号码的链接

Objective-c - CABasicAnimation 在动画后应用更改?

将参数传递给由 NSTimer 调用的方法