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

yao*_*xao 5 data-storage appstore-approval ios

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

2.23

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

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

  • 安装并启动您的应用
  • 转至设置> iCloud>存储和备份>管理存储
  • 如有必要,请点按"显示所有应用"
  • 检查您应用的存储空间

iOS数据存储指南表明,只有用户使用您的应用创建的内容(例如文档,新文件,编辑等)才能由iCloud备份.

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

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

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

有必要修改您的应用程序以满足iOS数据存储指南的要求.对于离散的代码级问题,您可以咨询Apple Developer技术支持.当DTS工程师跟进您时,请准备好提供:

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

如果您在复制报告的问题时遇到困难,请尝试按照https://developer.apple.com/library/ios/qa/qa1764/技术问答QA1764中的说明测试工作流程 :如何重现只有App Review的崩溃或错误或用户正在看到.

但是,我们没有存储在/ document文件夹中的数据.我们的关键数据存储在Library/Application Support/bundle_id中,此目录设置为"不备份",后面是Apple文档中的示例代码,它将NSURLIsExcludedFromBackupKey属性添加到目录中.

我们下载的缓存文件放在/ tmp目录中,并在使用后删除.因此,实际上没有通过iCloud备份的数据.事实上,我们已按照指示多次检查iCloud存储:

  • 安装并启动您的应用
  • 转至设置> iCloud>存储和备份>管理存储
  • 如有必要,请点按"显示所有应用"
  • 检查您应用的存储空间

但我们只能找到0.3KB的iCloud使用时间.我刚从iPhone上拍了一个屏幕截图:

在此输入图像描述

它显示确实只使用了0.3KB(屏幕上的第二个应用程序).

任何想法,还有什么会导致这种拒绝?我们有点相信这是苹果评论团队的错误,如果有任何办法我们可以通过电话联系苹果评审团队?

Log*_*chu 2

仅仅因为文档目录为空并且您在应用程序支持中的目录上设置了不备份标志,并不意味着没有其他内容可以备份。

\n\n

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

\n\n

应用程序备份最佳实践

\n\n

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

\n\n

\n

  • <应用程序主页>/AppName.app
  • \n
  • <应用程序数据>/库/缓存
  • \n
  • <应用程序数据>/tmp
  • \n\n

    因此,除了文档文件夹之外,还有其他区域可以备份。也许您在库或应用程序支持中的某个地方潜伏着另一个文件?

    \n