我们发现您的应用不符合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;
答案 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]];