обновлен до Xcode 7 и получить это (предупреждение?) Сообщение в то время как изображение было быть вынесено в эксплуатацию:Получение сообщения в консоли: «CreateWrappedSurface() не удалось выполнить для CGImageRef с поддержкой данных».
CreateWrappedSurface() не для DataProvider спинками CGImageRef.
Не было такого сообщения под Xcode 6.4.
Got который часть кода бросил сообщение:
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 был равен нулю.
Эталонный класс UIImage говорит:
@property (неатомической, только для чтения) CIImage * CIImage
Если объект UIImage был инициализирован с помощью CGImageRef, стоимость имущества равна нулю.
Поэтому я использую исходный код в качестве запасного варианта:
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");
Проблема заключается в том, что я по-прежнему получать предупреждающие сообщения в консоли.
Кто-нибудь получил это сообщение раньше? Каково решение проблемы с этим предупреждением (?)?
Спасибо, Адам
Я начал получать это (iOS9), когда начал запускать свои CIFilters в фоновом потоке, потому что они настолько медленны (а также в autoReleasePool). Похоже, что это не вызывало каких-либо негативных последствий, просто это сообщение, но я все еще изучаю ответы. –
Я, похоже, только на тренажере тоже, а не на устройстве. Hmmm –
Просто конвертируйте свое изображение с RGB в RGBA –