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

时间:2014-07-09 01:06:19

标签: ios appstore-approval data-storage

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

  

2.23

     

我们发现您的应用不遵循iOS数据存储   根据App Store审核指南要求的指南。

     

特别是,我们发现在发布和/或内容下载时,您的   app存储超过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 App或用户的崩溃或错误   正在看。

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

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

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

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

enter image description here

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

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

1 个答案:

答案 0 :(得分:1)

仅仅因为Documents目录为空并且您在Application Support中的目录中设置了do-not-backup标志并不意味着没有其他任何东西可以备份。

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

应用备份最佳做法

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

  

  • < APPLICATION_HOME> /AppName.app
  •   
  • < Application_Data> /库/缓存
  •   
  • < Application_Data> / TMP
  • 因此可以备份Documents文件夹以外的区域。也许你有另一个文件潜伏在图书馆或应用程序支持的某个地方?