我们发现您的应用不符合iOS数据存储指南

时间:2014-12-07 06:11:48

标签: ios objective-c iphone

我们发现您的应用不符合iOS数据存储指南,这是App Store审核指南所要求的。

特别是,我们发现在启动和/或内容下载时,您的应用程序存储3.05 MB。要检查应用存储的数据量:

安装并启动您的应用

Go to Settings > iCloud > Storage & Backup > Manage Storage

如有必要,请点击"显示所有应用" 检查您应用的存储空间 iOS数据存储指南指出,只有用户使用您的应用创建的内容(例如文档,新文件,编辑等)才能由iCloud备份。

您的应用使用的临时文件只应存储在/ tmp目录中;请记得在用户退出应用程序时删除存储在此位置的文件。

可以重新创建但必须保持应用程序正常运行的数据 - 或者因为客户希望它可供离线使用 - 应标记为"不要备份"属性。对于NSURL对象,请添加 NSURLIsExcludedFromBackupKey 属性以防止备份相应的文件。对于CFURLRef对象,请使用相应的 kCFURLIsExcludedFromBackupKey 属性。

有关详细信息,请参阅技术问答1719:如何阻止文件备份到iCloud和iTunes?

有必要修改您的应用以满足iOS数据存储指南的要求。如果您在复制报告的问题时遇到困难,请尝试测试技术Q& A QA1764:如何重现针对App Store提交的错误报告中描述的工作流程。

如果您在使用上述资源后遇到代码级问题,则可以咨询Apple Developer Technical Support。当DTS工程师跟进您时,请准备好提供:

您的拒绝问题的完整详情 截图 重现问题的步骤 符号化崩溃日志 - 如果您的问题导致崩溃日志

这是我的代码

static NSString *rootDir = nil;
    if (rootDir == nil) {
        NSArray *rootPath = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
        rootDir = [NSString stringWithFormat:@"%@/OfflineData", [rootPath objectAtIndex:0]];
if (![[NSFileManager defaultManager] fileExistsAtPath:rootDir]) {
            [[NSFileManager defaultManager] createDirectoryAtPath:rootDir withIntermediateDirectories:YES attributes:nil error:NULL];
        }
    }
    return rootDir;

1 个答案:

答案 0 :(得分:2)

  

Library / 这是任何非文件的顶级目录   用户数据文件。您通常将文件放在几个标准之一   子目录。 iOS应用程序通常使用Application Support和   缓存子目录;但是,您可以创建自定义子目录。   将Library子目录用于您不希望暴露的任何文件   用户。您的应用不应将这些目录用于用户数据   文件。 Library目录的内容(除了   Caches子目录)由iTunes备份。另外   有关Library目录及其常用的信息   子目录,请参阅库目录存储特定于应用程序的文件。

     

tmp / 使用此目录编写不需要的临时文件   在您的应用发布之间保持不变。您的应用应删除文件   从这个目录不再需要它们;然而   当您的应用未运行时,系统可能会清除此目录。该   iTunes不会备份此目录的内容。

阅读here了解更多信息

您不应该将这些类型的文件放在库中,而是可以使用临时目录\ tmp:

NSString *fileName = [NSString stringWithFormat:@"%@_%@", [[NSProcessInfo processInfo] globallyUniqueString], @"OfflineData"];
NSURL *fileURL = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:fileName]];