L'une de mes applications indique très occasionnellement que son stockage (via Paramètres -> Général -> Utilisation -> Stockage) est de 4 Go alors qu'en réalité, la taille totale de tous les fichiers du bac à sable de l'application (Documents, Bibliothèque, tmp) est en moyenne de 10 Mo environ.
Je suis un peu à bout de nerfs et je me demande si quelqu'un a déjà vécu une telle expérience. J'ai l'impression qu'il s'agit de quelque chose lié à UIDocument, mais je n'en suis pas certain. Il me semble qu'il y a trop peu d'éléments pour déposer un radar.
Dans certains cas, l'application obligera le système à présenter une boîte de dialogue avertissant l'utilisateur que le système est à court de stockage. Lorsque cela se produit, il semble que le système réconcilie la différence entre l'espace de stockage qu'il pense que l'application utilise et la réalité, et les chiffres de stockage redescendent alors à environ 10 Mo.
C'est vraiment bizarre.
Toute idée de ce que je pourrais examiner serait appréciée.
L'implémentation 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;
}