应用报告不准确的使用/存储

时间:2012-01-27 18:57:20

标签: ios objective-c ipad nsfilewrapper

我的其中一个应用程序偶尔会将其存储(通过设置 - >常规 - >用法 - >存储)报告为4GB,实际上是应用程序沙盒中所有文件的总大小(文档) ,Library,tmp)平均大约10MB左右。

我有点在我的智慧结束,并想知道是否有人经历过这样的事情。我怀疑这是与UIDocument有关的东西,但不能肯定。现在提交雷达似乎太少了。

在某些情况下,应用程序会强制系统显示一个对话框,警告用户系统存储空间不足。当发生这种情况时,似乎系统会协调它认为应用程序正在使用的存储与现实之间的差异,然后存储数量将下降到10MB左右。

真的很奇怪。

对于我可能会看到的任何想法都会表示赞赏。

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;
}

1 个答案:

答案 0 :(得分:1)

我用TestFlight SDK看过这个。删除TestFlight的使用应解决此问题。