更新到 Xcode 7并在操作中渲染图像时收到此(警告?)消息:
数据提供者支持的 CGImageRef 的 CreateWrappedSurface() 失败。
Xcode 6.4 下没有这样的消息。
得到了哪个代码部分抛出了消息:
if (!self.originalImage) // @property (nonatomic, strong) UIImage *originalImage;
return;
CGImageRef originalCGImage = self.originalImage.CGImage;
NSAssert(originalCGImage, @"Cannot get CGImage from original image");
CIImage *inputCoreImage = [CIImage imageWithCGImage:originalCGImage]; // this results the console message
我替换了我的 CIIImage 创建者以直接从 UIImage 获取它:
CIImage *originalCIImage = self.originalImage.CIImage;
NSAssert(originalCIImage, @"Cannot build CIImage from original image");
在这种情况下,我没有收到任何控制台消息,但有一个断言: originalCIImage 为 nil。
UIImage 的类参考说:
@property(nonatomic, readonly) CIImage *CIImage
如果 UIImage 对象是使用 CGImageRef 初始化的,则该属性的值为 nil。
所以我使用原始代码作为后备:
CIImage *originalCIImage = self.originalImage.CIImage;
if (!originalCIImage) {
CGImageRef originalCGImageRef = self.originalImage.CGImage;
NSAssert(originalCGImageRef, @"Unable to get CGimageRef of originalImage");
originalCIImage = [CIImage imageWithCGImage:originalCGImageRef];
}
NSAssert(originalCIImage, @"Cannot build CIImage from original image");
问题是,我仍然在控制台中收到警告消息。
以前有人收到过这个消息吗?消除该警告(?)消息的解决方案是什么?
谢谢, 亚当