对于我的应用程序我得到了苹果的拒绝细节,但我无法理解该做什么,因为我没有使用icloud和苹果说你必须请描述我接下来该做什么。苹果写下来了。
2.23我们发现您的应用不遵循iOS数据存储指南,这是根据App Store审核指南所要求的。在 特别是,我们发现在启动和/或内容下载时,您的应用程序 商店32MB。要检查应用存储的数据量:
- 安装并启动您的应用
- 转到设置> iCloud>存储&备份>管理存储
- 如有必要,请点按“显示所有应用”
- 检查应用的存储空间iOS数据存储指南表明只有用户使用您的应用创建的内容,例如: 文档,新文件,编辑等应由iCloud备份。
您的应用使用的临时文件应仅存储在/ tmp中 目录;请记得删除存储在此位置的文件 当用户退出应用程序时。可以重新创建但必须的数据 坚持你的应用程序的正常运作 - 或因为客户 期望它可供离线使用 - 应标记为 “不要备份”属性。对于NSURL对象,请添加 NSURLIsExcludedFromBackupKey属性可以防止相应的 备份文件。对于CFURLRef对象,请使用相应的对象 kCFURLIsExcludedFromBackupKey属性。有关更多信息,请 请参阅技术问答1719:如何防止文件备份到 iCloud和iTunes?。
有必要修改您的应用程序以满足 iOS数据存储指南的要求。对于离散 代码级问题,您可以咨询Apple Developer 技术支援。请务必:
- 包含拒绝问题的完整详情
- 准备任何符号化的崩溃日志,屏幕截图和步骤,以重现DTS工程师跟进时的问题。
有关如何表示和阅读崩溃日志的信息,请参阅 技术说明TN2151了解和分析iPhone OS应用程序 崩溃报告。如果您在复制此问题时遇到困难,请 尝试按照中所述测试工作流程 Testing Workflow 使用Xcode的存档功能。
答案 0 :(得分:6)
您必须设置“不备份”属性才能让iphone管理在文档目录中下载的所有资源。
将以下代码放在appdelegate的didFinishLaunchingWithOptions方法中 -
NSArray *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDir = [docPath objectAtIndex:0];
NSURL *pathurl=[NSURL fileURLWithPath:documentDir];
const char* filePath = [[URL path] fileSystemRepresentation];
const char* attrName = "com.apple.MobileBackup";
u_int8_t attrValue = 1;
int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
return result == 0;
答案 1 :(得分:0)
它明确指出您的应用程序在文档目录中存储或内容下载时存储32MB数据。文档目录中的任何数据都会自动备份。
因此,如果你想以同样的方式使用应用程序,你可以做两件事。
1)将您的数据存储在任何其他目录中,例如“Temp”
OR
2)将您的数据标记为“不备份”属性。为此,如果从URL下载任何数据,对于NSURL对象,添加NSURLIsExcludedFromBackupKey属性以防止备份相应的文件