2012-01-27 3 views
28

Одно из моих приложений будет иногда сообщать о своем хранилище (через Settings -> General -> Usage -> Storage) как 4 ГБ, когда на самом деле общий размер всех файлов в приложении Песочница (Documents, Library, tmp) составляет около 10 МБ или около того.Приложение неточно. Использование/хранение

Я как бы нахожусь в своем уме и задаюсь вопросом, испытал ли кто-нибудь подобное. У меня есть подозрительное подозрение, что это что-то связано с UIDocument, но не может быть уверенным. Похоже, сейчас слишком мало, чтобы подать радар.

В некоторых случаях приложение заставит систему представить диалог, предупреждающий пользователя о том, что система работает на низком уровне хранения. Когда это происходит, кажется, что система согласовывает разницу между хранилищем, которое, по его мнению, использует приложение, и реальностью, а номера хранилищ будут снижаться до 10 МБ или около того.

Это действительно странно.

Любые идеи о вещах, которые я мог бы рассмотреть, были бы оценены.

Реализация contentsForType: ошибка:

- (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

Как вы храните данные своего приложения? – jrtc27

+0

Что вы делаете для приложения (не нуждаетесь в деталях)? У вас есть что-нибудь? Скачайте что угодно. Любая причина может пойти не так, как массив или какая-то другая вещь, которую вы записываете, становится очень большой? Это тоже происходит на симуляторе? – Ali

+0

Сохранение файлов через UIDocument с использованием NSFileWrapper. Еще одна особенность: мне даже не нужно ничего спасать, чтобы это произошло. Последняя попытка хранить информацию могла быть часами или днем ​​назад, и это будет случайным образом. –

ответ

1

Я видел это с TestFlight SDK. Удаление использования TestFlight должно решить эту проблему.

Смежные вопросы