Cuándo usar NSSecureCoding
Estoy aprendiendo sobre elNSSecureCoding
Protocolo introducido por Apple en iOS 6.
Desde mi entendimiento hasta ahora, debería usarse siempre que una clase codifique / decodifique instancias de sí misma, para evitar ataques de sustitución.
Me pregunto si sería apropiado usarlo en otros casos.
Específicamente si una clase se ajusta aNSCoding
Al codificar / decodificar sus variables de instancia, en oposición a la instancia completa de sí misma, ¿sería recomendable implementarNSSecureCoding
?
Supongamos que tengo una clase que está implementandoNSCoding
como sigue
- (void)encodeWithCoder:(NSCoder *)encoder {
[encoder encodeObject:self.aString forKey:@"aMeaningfulString"];
}
- (id)initWithCoder:(NSCoder *)decoder {
if((self = [super init])) {
self.aString = [decoder decodeObjectForKey:@"aMeaningfulString"];
}
return self;
}
y supongamos también que no hay XPC involucrado. Las instancias de esta clase se archivarán en una lista almacenada en el disco.
En cuanto a la seguridad, ¿hay algún beneficio en el uso-decodeObjectOfClass:forKey:
Opuesto a-decodeObjectForKey:
?