iOS 5.0.1: ¿Cómo verificar que la carpeta esté marcada como “No hacer copia de seguridad” para iCloud?

Quiero configurar Do not back up en mi carpeta que está en el Document Directory .

Encontré el código para “No hacer copia de seguridad” , pero ¿cómo puedo verificar que la carpeta esté marcada?

De acuerdo con los documentos que vinculó, si configura el método exactamente como lo tienen listado en esa página, el método devolverá YES si el atributo está marcado correctamente.

Para iOS 5.1, ejecute la aplicación en el simulador y ejecute el siguiente comando en la Terminal:

 xattr {filename} 

Debería ver lo siguiente si el elemento está marcado correctamente para la exclusión:

 com.apple.metadata:com_apple_backup_excludeItem 
  1. simulador abierto
  2. elimine la aplicación (el equipo de revisión de aplicaciones ejecuta el código 1 vez, así que asegúrese de comenzar desde cero)
  3. Ahora ejecute su código en el simulador, su código almacenará sus archivos en su disco duro.
  4. abrir terminal
  5. cd / Users / (nombre de usuario) / Library / Application Support / iPhone Simulator / (versión ios) / Aplicaciones
  6. ls
  7. se te presentará una lista de nombres de carpetas al azar, abre cada uno hasta que encuentres la carpeta de tu aplicación
  8. para el archivo en $ (encontrar *); do du -sk $ archivo; xattr -l $ archivo; eco ; hecho
  9. se le presentarán todos los archivos en la aplicación en el formato de ..

    (tamaño de archivo) (nombre de archivo)
    (exclusión de copia de seguridad de iCloud)

NOTA: si no se incluye nada, eso significa que se realizará una copia de seguridad del archivo (si está en la carpeta Biblioteca o Documentos) … si en su lugar aparece ‘com.apple.metadata: com_apple_backup_excludeItem: com.apple.MobileBackup’, entonces está bueno para ir.

Ejecute la aplicación en el simulador, luego use el Terminal para ejecutar este comando contra los archivos relevantes:

 xattr -plxv com.apple.MobileBackup  

Para iOS 5.1 o posterior, este código funciona bien para mí.

  - (BOOL)addSkipBackupAttributeToItemAtPath:(NSString *)filePathString { NSURL *fileURL = [NSURL fileURLWithPath:filePathString]; assert([[NSFileManager defaultManager] fileExistsAtPath: [fileURL path]]); NSError *error = nil; BOOL success = [fileURL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:&error]; return success; }