В этом коде:
url = [NSURL fileURLWithPath:t.exportedFullName];
myImageDest = CGImageDestinationCreateWithURL((CFURLRef)url, (CFStringRef)t.asset.defaultRepresentation.UTI, 1, nil);
if(!myImageDest) {
NSLog(@"***Could not create image destination ***");
}
inImage = t.asset.defaultRepresentation.fullResolutionImage;
CGImageDestinationAddImage(myImageDest, inImage, (CFDictionaryRef)t.freshMetaData);
success = CGImageDestinationFinalize(myImageDest);
if(!success)
NSLog(@"***Could not create data from image destination ***");
[url release];
CGImageRelease(inImage);
CFRelease(myImageDest);
, который выполняется в цикле, проходящем через массив информации об изображении (t), если я не использую CFRelease (myImageDest); Я получаю предупреждения о нехватке памяти, и приложение в конечном итоге умирает (при запуске на устройстве).
Если я использую его, я получаю:
- [Not A Type _cfTypeID]: сообщение отправлено на освобожденный экземпляр
и профилирование с помощью зомби в инструментах показывает [UIImage dealloc] со значением refcnt, равным -1, а в строке чуть выше - CFRelease со значением refcnt, равным 0, в этом классе выше. Показанный CFRelease - единственный в своем классе.
Не могу жить с этим, не могу жить без ... делай меня сумасшедшим ...
Есть идеи?