2012-01-27 13 views
28

Una de mis aplicaciones, muy ocasionalmente, informará su almacenamiento (a través de Configuración -> General -> Uso -> Almacenamiento) como 4 GB cuando, en realidad, el tamaño total de todos los archivos en la aplicación Sandbox (documentos, biblioteca, tmp) tiene un promedio de 10 MB aproximadamente.Aplicación que informa uso/almacenamiento incorrectos

Estoy como en mi ingenio y me pregunto si alguien ha experimentado algo como esto. Tengo la sospecha de que es algo relacionado con UIDocument, pero no puedo estar seguro. Parece que es muy poco lo que se puede hacer ahora para archivar un radar.

En algunos casos, la aplicación obligará al sistema a presentar un cuadro de diálogo advirtiendo al usuario de que el sistema se está quedando sin almacenamiento. Cuando esto sucede, parece que el sistema reconcilia la diferencia entre el almacenamiento que cree que usa la aplicación y la realidad, y los números de almacenamiento volverán a reducirse a 10 MB más o menos.

Es realmente extraño.

Se agradecerá cualquier idea sobre cosas que pueda ver.

La implementación de contentsForType: Error:

- (id) contentsForType: (NSString *) inTypeName 
    error: (NSError **) outError 
{ 
    NSFileWrapper  *newWrapper, *audioFileWrapper; 
    NSString   *audioFilename; 
    NSURL    *newAudioWrapperURL; 

    newWrapper = [[[NSFileWrapper alloc] initDirectoryWithFileWrappers: nil] autorelease]; 

    // add updated info 
    [newWrapper addRegularFileWithContents: [NSKeyedArchiver archivedDataWithRootObject: self.testInfo] preferredFilename: QSDocumentInfoKey]; 

    // scan audio files and clean up where needed 
    for (NSDictionary *wordInfo in self.wordInfoList) { 
     if ((audioFilename = [wordInfo objectForKey: QSInfoAudioKey]) != nil) { 
      newAudioWrapperURL = [self.fileURL URLByAppendingPathComponent: audioFilename]; 
      if ([[NSFileManager defaultManager] fileExistsAtPath: [newAudioWrapperURL path]]) { 
       audioFileWrapper = [[[NSFileWrapper alloc] initWithURL: newAudioWrapperURL options: 0 error: nil] autorelease]; 
       [newWrapper addFileWrapper: audioFileWrapper]; 
      } 
     } 
    } 

    self.fileWrapper = newWrapper; 

    return self.fileWrapper; 
} 
+0

¿Cómo está almacenando los datos de su aplicación? – jrtc27

+0

¿Qué hace su aplicación (no necesita detalles)? ¿Cobran algo? Descargar cualquier cosa ¿Alguna razón por la que algo puede salir mal y una matriz o cualquier otra cosa que anote se vuelva muy grande? ¿Sucede también en el simulador? – Ali

+0

Guardar archivos mediante UIDocument utilizando NSFileWrapper. Otra cosa peculiar: ni siquiera tengo que haber guardado nada para que esto suceda. El último intento de almacenar información puede haber sido horas o hace un día y esto sucederá al azar. –

Respuesta

1

he visto esto con el SDK TestFlight. Eliminar el uso de TestFlight debería resolver este problema.

Cuestiones relacionadas