Wann soll NSSecureCoding verwendet werden?

Ich lerne über dieNSSecureCoding von Apple in iOS 6 eingeführtes Protokoll.

Soweit ich weiß, sollte es immer dann verwendet werden, wenn eine Klasse Instanzen von sich selbst codiert / decodiert, um Substitutionsangriffe zu verhindern.

Ich frage mich, ob es angebracht wäre, es in anderen Fällen zu verwenden.

Insbesondere, wenn eine Klasse konform istNSCoding Es wäre immer noch ratsam, die Instanzvariablen zu codieren / decodieren, im Gegensatz zur gesamten InstanzNSSecureCoding?

BEARBEITEN

Angenommen, ich habe eine Klasse, die implementiert wirdNSCoding wie folgt

- (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;
}

und nehme auch an, dass kein XPC beteiligt ist. Instanzen dieser Klasse werden in einer auf der Festplatte gespeicherten Liste archiviert.

In Bezug auf die Sicherheit bietet die Verwendung keinerlei Vorteile-decodeObjectOfClass:forKey: im Gegensatz zu-decodeObjectForKey:?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage