ios - 拒绝 : "2.23: Apps must follow the iOS Data Storage Guidelines", 我们没有在文档文件夹中保存任何数据

标签 ios appstore-approval data-storage

我们的App被App拒绝了,原因是:

2.23

We found that your app does not follow the iOS Data Storage Guidelines, which is required per the App Store Review Guidelines.

In particular, we found that on launch and/or content download, your app stores over 2 MB data. To check how much data your app is storing:

  • Install and launch your app
  • Go to Settings > iCloud > Storage & Backup > Manage Storage
  • If necessary, tap "Show all apps"
  • Check your app's storage

The iOS Data Storage Guidelines indicate that only content that the user creates using your app, e.g., documents, new files, edits, etc., should be backed up by iCloud.

Temporary files used by your app should only be stored in the /tmp directory; please remember to delete the files stored in this location when the user exits the app.

Data that can be recreated but must persist for proper functioning of your app - or because customers expect it to be available for offline use - should be marked with the "do not back up" attribute. For NSURL objects, add the NSURLIsExcludedFromBackupKey attribute to prevent the corresponding file from being backed up. For CFURLRef objects, use the corresponding kCFURLIsExcludedFromBackupKey attribute.

For more information, please see Technical Q&A 1719: How do I prevent files from being backed up to iCloud and iTunes?.

It is necessary to revise your app to meet the requirements of the iOS Data Storage Guidelines. For discrete code-level questions, you may wish to consult with Apple Developer Technical Support. When the DTS engineer follows up with you, please be ready to provide:

  • complete details of your rejection issue(s)
  • screenshots
  • steps to reproduce the issue(s)
  • symbolicated crash logs - if your issue results in a crash log

If you have difficulty reproducing a reported issue, please try testing the workflow as described in https://developer.apple.com/library/ios/qa/qa1764/Technical Q&A QA1764: How to reproduce a crash or bug that only App Review or users are seeing.

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

我们下载的缓存文件放在/tmp目录下,用完后删除。所以实际上没有通过 iCloud 备份的数据。事实上,我们已经按照指示检查 iCloud 存储空间进行了多次测试:

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

但我们始终只能找到 0.3KB 的 iCloud 使用情况。我刚从我的 iPhone 截屏:

enter image description here

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

任何想法,还有什么会导致这种拒绝?我们有点相信这是 apple 审查团队的错误,是否有任何方式我们可以通过电话联系到 apple 审查团队?

最佳答案

仅仅因为 Documents 目录是空的并且您在应用程序支持的目录上设置了不备份标志并不意味着没有其他任何东西可以备份。

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

应用备份最佳实践

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

  • /AppName.app
  • /Library/Caches
  • /tmp
  • 所以除了 Documents 文件夹之外,还有其他区域可以备份。也许您有另一个文件潜伏在库或应用程序支持中的某个地方?

    关于ios - 拒绝 : "2.23: Apps must follow the iOS Data Storage Guidelines", 我们没有在文档文件夹中保存任何数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24643919/

    相关文章:

    ios - Apple 拒绝在 iPhone 应用程序的 iPad 屏幕顶部出现黑条

    iphone - 不使用IAP构建IOS应用向卖家收费

    c# - 将图像作为二进制数据存储在数据库中

    php - 在 PHP 中存储一些数据的无数据库方法

    ios - 如何初始化具有从前面的 ViewController 传递的非可选属性的 Swift ViewController?

    ios - 在 UITextView 中画一条线 - NSAttributedString

    ios - 我如何快速使用/集成 Passbook/Wallet/PassKit 进行事件邀请?

    ios - 同时将数据写入和读取到NSMutableArray

    iphone - 使用用户自己的音乐的预期 iTunes App Store 评级是多少?

    c# - 数据库是我的 C# 应用程序数据存储的正确选择吗?