El valor de los files es diferente en iOS 6 y iOS 7

El valor de los files es diferente en iOS 6 e iOS 7 cuando archive MyDTO.
¿Por qué pasó esto?

MyDTO.h

@property (nonatomic, strong) NSString *aaa; @property (nonatomic, strong) NSString *bbb; 

MyDTO.m

 - (void)encodeWithCoder:(NSCoder *)encoder { [encoder encodeObject:_aaa forKey:@"aaa"]; [encoder encodeObject:_bbb forKey:@"bbb"]; } 

MyMethod

 - (void)test { MyDTO *myDTO = [[MyDTO alloc] init]; myDTO.aaa = @"1"; myDTO.bbb = @"2"; //data is different in iOS 6 and iOS 7 NSData *data = [NSKeyedArchiver archivedDataWithRootObject:myDTO]; } 

Editar

Se produce un error en los siguientes pasos.

  1. Archivo de DTO (iOS 6)
  2. Up versión de sistema operativo (iOS 6 -> iOS 7)
  3. Dearchive of DTO (iOS 7) <- ¡Error!

Registro de errores

 [NSKeyedUnarchiver initForReadingWithData:]: incomprehensible archive (0x48, 0xfffffff2, 0xffffffd7, 0xffffff89, 0xffffff80, 0xffffffa8, 0x70, 0xffffff8d) 

Normal en los siguientes pasos.

  1. Archivo de DTO (iOS 6)
  2. Dearchive de DTO (iOS 6)

O

  1. Archivo de DTO (iOS 7)
  2. Dearchive de DTO (iOS 7)

Supuse que el valor de los files es diferente se debe.

Podría transferir una cadena JSON en lugar de NSData y agregar methods para inicializar su DTO desde un JSON, además de crear un JSON desde su DTO. Estoy usando este enfoque para intercambiar datos a través de Bluetooth Low Energy y funciona bien entre dispositivos iOS 7 y iOS 8.