拒绝:“2.23:应用程序必须遵循iOS数据存储指南”,我们没有任何数据保存在文档文件夹中

我们的应用程序已被拒绝从应用程序,原因是:

2.23

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

特别是,我们发现,在发布和/或内容下载时,您的应用程序会存储超过2 MB的数据。 要检查您的应用程序正在存储多less数据:

  • 安装并启动您的应用程序
  • 进入设置> iCloud>存储和备份>pipe理存储
  • 如有必要,请点按“显示所有应用”
  • 检查你的应用程序的存储

iOS数据存储指南指出,只有用户使用您的应用程序创build的内容,例如文档,新文件,编辑等应由iCloud备份。

应用程序使用的临时文件只能存储在/ tmp目录中; 请记住当用户退出应用程序时删除存储在这个位置的文件。

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

有关更多信息,请参阅技术问答1719:如何防止将文件备份到iCloud和iTunes?

有必要修改您的应用程序以符合iOS数据存储指南的要求。 对于不同的代码级问题,您可能希望咨询Apple开发者技术支持。 当DTS工程师跟进你时,请准备好提供:

  • 你的拒绝问题的完整细节
  • 截图
  • 重现问题的步骤
  • 符号化的崩溃日志 – 如果您的问题导致崩溃日志

如果您在重现报告问题时遇到困难,请尝试按照https://developer.apple.com/library/ios/qa/qa1764/中所述testing工作stream程。技术问答QA1764:如何重现仅适用于应用程序审查的崩溃或错误或用户正在看到。

但是,我们没有存储在/文件夹中的数据。 我们的关键数据存储在库/应用程序支持/ bundle_id中,并且此目录设置为“不备份”,随后是苹果文档中的示例代码,将NSURLIsExcludedFromBackupKey属性添加到目录中。

我们下载的caching文件放在/ tmp目录下,使用后删除。 所以真的没有数据是通过iCloud备份的。 事实上,我们已经按照指示检查了iCloud存储的许多次:

  • 安装并启动您的应用程序
  • 进入设置> iCloud>存储和备份>pipe理存储
  • 如有必要,请点按“显示所有应用”
  • 检查你的应用程序的存储

但是我们一直只能find0.3KB的iCloud使用量。 我刚刚从我的iPhone拍摄了一个屏幕截图:

在这里输入图像说明

它只显示0.3KB(屏幕上的第二个应用程序)。

任何想法,还有什么会造成这种拒绝? 我们有些认为这是苹果审查组的错误,如果有什么办法可以通过电话联系苹果审查组?

仅仅因为Documents目录是空的,而且您在“应用程序支持”中的目录中设置了“不备份”标志,并不意味着没有任何可以备份的内容。

“性能提示”一章中的iOS应用程序编程指南中有一节指出:

应用备份最佳实践

您不必以任何方式准备您的应用程序进行备份和恢复操作。 具有活动iCloud帐户的设备在适当的时候将其应用程序数据备份到iCloud。 对于插入计算机的设备,iTunes会执行应用程序数据文件的增量备份。 但是,iCloud和iTunes不会备份以下目录的内容:

  • <APPLICATION_HOME> /AppName.app
  • <Application_Data> /库/高速caching
  • <Application_Data>的/ tmp
  • 因此除了可以备份的Documents文件夹外,还有其他区域。 也许你有另一个文件潜伏在图书馆或应用程序支持的某个地方?