NSKeyedArchiver / Unarchiver no funciona con UIImage creado con imageNamed en iOS8 (pero funciona en iOS7)

Correr en iOS8 parece haber roto algún código que uso para mantener una preference de usuario para una image de background. Empiezo con una image pnetworkingeterminada (FACE1.png) y la estaba almacenando como la preference pnetworkingeterminada. Sin embargo, al desarchivar la image, si el valor pnetworkingeterminado todavía se configuró, la image desarchivada era incorrecta.

Aquí hay un fragment de código para mostrar qué está yendo mal

UIImage *segment1Image = [UIImage imageNamed:@"FACE1.png"]; if (!segment1Image) { NSLog(@"segment1Image nil pointer"); } else { NSLog(@"The segment1Image image size is %f, %f", segment1Image.size.width, segment1Image.size.height); NSData *segment1ArchiveData = [NSKeyedArchiver archivedDataWithRootObject:segment1Image]; if (!segment1ArchiveData) { NSLog(@"segment1ArchiveData nil pointer, NSKeyedArchiver couldn't create archive"); } else { NSLog(@"The archive is %d bytes", [segment1ArchiveData length]); UIImage *unarchivedSegment1Image = [NSKeyedUnarchiver unarchiveObjectWithData:segment1ArchiveData]; if (!unarchivedSegment1Image) { NSLog(@"unarchivedSegment1Image nil pointer, NSKeyedUnarchiver couldn't restre from archive"); } else { NSLog(@"The unarchivedSegment1Image image size is %f, %f", unarchivedSegment1Image.size.width, unarchivedSegment1Image.size.height); } } } 

En iOS 7 se carga la image, se crea el file y se restaura el file. Se genera la siguiente salida en la console

El tamaño de image del segmento1Imagen es 508.000000, 642.000000
El file es de 408 bytes.
El tamaño de la image no archivada Segment1 Image es 508.000000, 642.000000

En iOS8, la image se carga, se crea el file (con un número diferente de bytes) y cuando se restaura el file, el object UIImage tiene 0 alto y ancho

Veo el siguiente resultado en la console

El tamaño de image del segmento1Imagen es 508.000000, 642.000000
El file es de 653 bytes.
El tamaño de image de image segmentada1 noarcheado es 0.000000, 0.000000

Si yo

  NSData *fullImageData = UIImagePNGRepresentation(segment1Image); 

Puedo crear un file de la representación PNG y desarchivar eso con éxito, sin embargo, me gustaría saber si hay una solución mejor o una forma de arreglar mi código para desarchivar un UIImage creado con imageNamed