Почему [UIImage imageWithData:] поддерживает формат PVRTC?
Я неожиданно обнаружил, что в iOS 8.3 SDK (я не тестировал другие версии) я могу использовать [UIImage imageWithData:] для прямой загрузки формата PVRTC?
Так не должно быть, верно? Я не могу найти какую-либо документацию или обсуждение по этому поводу, я даже не знаю, могу ли я положиться на это...
Но он работает как на симуляторах, так и на реальных устройствах.
Вот несколько кодов моего теста, тестовый проект не включает OpenGLES.framework.
NSData *data = THE_CONTENT_OF_A_PVR_FILE;
NSString *tempDir = NSTemporaryDirectory();
[data writeToFile:[tempDir stringByAppendingPathComponent:@"temp.pvr"] atomically:YES];
UIImage *tempImage = [UIImage imageWithData:data];
[UIImagePNGRepresentation(tempImage) writeToFile:[tempDir stringByAppendingPathComponent:@"temp.png"] atomically:YES];
Два сохраненных файла доступны здесь: http://d.pr/f/17ugQ
Вы можете проверить файл pvr в HEX-редакторе, он соответствует спецификациям формата PVRTC версии 2, с форматом пикселей в PVRTC4.
Любая идея?