Guardar datos en disco en iOS

Mi request fue rechazada por la siguiente razón:

App Review 1.0 Binary Rejected August 5, 2015 2.23 Details On launch and content download, your app stores 9.51 MB on the user's iCloud, which does not comply with the iOS Data Storage 

Tanto como entiendo ( NSUserDefaults si me equivoco) es porque ahorro mucho en NSUserDefaults (no ahorro en ningún otro lado).

Así que esta es mi pregunta: ¿hay una manera rápida y fácil de save datos localmente (similar a NSUserDefaults pero no termina guardando en "iCloud del usuario", en lugar de usar CoreData ?

Sí, hay una manera. Puede almacenar sus datos utilizando NSKeyedArchiver y NSKeyedUnarchiver . NSKeyedArchiver se usa para save sus datos. Un ejemplo:

 [NSKeyedArchiver archiveRootObject:counters toFile:filePath]; 

La extensión de filePath debería ser .plist ; counters en este caso son una matriz.

NSKeyedUnarchiver se usa para cargar sus datos. Un ejemplo:

 if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) { counters = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath]; } 

Si desea almacenar su class personalizada, debe implementar el protocolo NSCoding .