NSKeyedArchiver archiveRootObject sigue devolviendo NO

He pasado las últimas horas tratando de resolver esto, pero me he quedado sin ideas.

Todo lo que estoy tratando de hacer es archivar un objeto, pero el métodoarchiveRootObject sigue regresandoNO

Aquí está mi código:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cacheDirectory = [paths objectAtIndex:0];
cacheDirectory = [cacheDirectory stringByAppendingPathComponent:@"MyAppCache"];
NSString *fullPath = [cacheDirectory stringByAppendingPathComponent:@"archive.data"];

if(![[NSFileManager defaultManager] fileExistsAtPath:fullPath]){
    [[NSFileManager defaultManager] createDirectoryAtPath:fullPath withIntermediateDirectories:YES attributes:nil error:nil];
}

NSArray *array = [NSArray arrayWithObjects:@"hello", @"world", nil];
NSLog(@"Full Path: %@", fullPath);
BOOL res = [NSKeyedArchiver archiveRootObject:array toFile:fullPath];

if(res){
    NSLog(@"YES");
}else{
    NSLog(@"NO");
}

Cada vez que corro esto, se imprime.NO.

¡Cualquier ayuda sería apreciada!

Respuestas a la pregunta(2)

Su respuesta a la pregunta