Agg*_*sor 45 xcode objective-c uiimageview ios xcode6
更新:参考#19285042并向苹果提交错误报告
非常奇怪的错误,没有在网上找到任何东西.它说"BSXPCMessage收到错误消息:连接中断"
我只是在做一些基本的过滤器应用程序.如果我将UIImageView.image重新分配给另一个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
Run Code Online (Sandbox Code Playgroud)
lsw*_*ank 40
您收到的消息是由iOS 8中的CIFilter错误引起的.
XPC服务旨在通过隔离不太稳定的组件(如过滤器和插件)来减少崩溃.这通常不是致命的,并且startd重新启动服务将恢复连接.由于这不是一个长期运行的服务,而只是一个操作,很可能实际上没有应用您的图像过滤器.
这是iOS 8中的一个错误,你应该提交一个Radar(错误报告)让Apple知道(还有一部分)iOS 8有一个bug.
如果您打算这样做,您应该安装Quick Radar,跟踪Radar编号,并回答Stack Overflow上的许多其他类似问题,但问题相同.鼓励其他人提交引用原始问题的重复雷达报告.这将使苹果公司更加关注虫子.
苹果真的把这个赶了出来.在前面提到的解决方法是好的,如果你能做出不同的CIFilter子做你想做的.否则,您将不得不修改图像,保存其NSData表示,或以其他方式从CIImage工作流中删除它.
通过阅读raywenderlich文章,我发现在上下文中添加一个选项,以便在CPU而不是GPU中完成渲染,将删除警告.
let context = CIContext(options:[kCIContextUseSoftwareRenderer : true])
| 归档时间: |
|
| 查看次数: |
18128 次 |
| 最近记录: |