Mise à jour Xcode 7 et obtenir ce (avertissement?) Un message alors qu'une image était rendue dans une opération:Obtention de message dans la console: "CreateWrappedSurface() a échoué pour un CGImageRef soutenu par le fournisseur de données."
CreateWrappedSurface() a échoué pour une CGImageRef de dataprovider soutenu.
Il n'y avait aucun message comme ceci sous Xcode 6.4.
Got quelle partie du code a jeté le message:
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
J'ai remplacé mon créateur de CIIImage pour obtenir directement à partir du UIImage:
CIImage *originalCIImage = self.originalImage.CIImage;
NSAssert(originalCIImage, @"Cannot build CIImage from original image");
Dans ce cas, je n'ai pas eu console message, mais avait une assertion: originalCIImage était nul.
La référence de classe de UIImage dit:
@property (nonatomic, en lecture seule) CIImage * CIImage
Si l'objet UIImage a été initialisé à l'aide d'un CGImageRef, la valeur de la propriété est nulle.
Je suis en utilisant le code d'origine comme fallback:
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");
Le problème est, je suis encore en train les messages d'avertissement dans la console.
Est-ce que quelqu'un a déjà reçu ce message? Quelle est la solution pour nuke ce message d'avertissement (?)?
Merci, Adam
J'ai commencé à l'obtenir (iOS9) quand j'ai commencé à utiliser mes CIFilters dans les threads de fond parce qu'ils sont si lents (et aussi dans un autoReleasePool). Cela n'a pas semblé causer d'effets négatifs, juste ce message en lui-même, mais je cherche encore des réponses. –
J'ai l'impression de ne l'avoir que sur simulateur, pas sur l'appareil. Hmmm –
Il suffit de convertir votre image de RGB à RGBA –