Вот способ сделать это:
UIImage *imageToCopy = <# Your image here #>;
UIGraphicsBeginImageContext(imageToCopy.size);
[imageToCopy drawInRect:CGRectMake(0, 0, imageToCopy.size.width, imageToCopy.size.height)];
UIImage *copiedImage = [UIGraphicsGetImageFromCurrentImageContext() retain];
UIGraphicsEndImageContext();
Причина, по которой мне это нужно, в том, что у меня была переменная изображения, инициализированная с imageWithContentsOfFile:, и я хотел иметь возможность удалить файл с диска, носохранить переменную изображения.Я был удивлен, обнаружив, что при удалении файла переменная изображения сходит с ума.Он отображал странные случайные данные, даже если они были инициализированы до удаления файла.Когда я сначала глубоко копирую, все работает нормально.