Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rejection: "2.23: Apps must follow the iOS Data Storage Guidelines", We do not have any data saved in documents folder

Our App has been rejected from App, the reason is:

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.

However, We have no data stored in /document folder. Our key data is stored in Library/Application Support/bundle_id and this directory is set to 'do not back up' followed by the example code in apple document that add NSURLIsExcludedFromBackupKey attribute to the directory.

Our downloaded cache files are put in /tmp directory and deleted after use. So there is really no data that is backed-up via iCloud. In fact we have tested numerous of times checking the iCloud storage as instructed:

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

and yet we could only find 0.3KB iCloud usage for all time. I have just taken a screen shot from my iPhone:

enter image description here

It shows indeed only 0.3KB used (The second app on the screen).

Any idea, what else will cause this rejection? We some kind of believing that this is apple review team's mistake, if there is any way that we could reach apple review team by phone?

like image 501
yaoxao Avatar asked Oct 31 '22 20:10

yaoxao


1 Answers

Just because the Documents directory is empty and you are setting the do-not-backup flag on your directory in Application Support does not mean there is nothing else that could get backed up.

The App Programming Guide for iOS in the Performance Tips chapter has a section which states:

App Backup Best Practices

You do not have to prepare your app in any way for backup and restore operations. Devices with an active iCloud account have their app data backed up to iCloud at appropriate times. For devices that are plugged into a computer, iTunes performs an incremental backup of the app’s data files. However, iCloud and iTunes do not back up the contents of the following directories:

  • <Application_Home>/AppName.app
  • <Application_Data>/Library/Caches
  • <Application_Data>/tmp
  • so there are areas other than the Documents folder that can get backed up. Maybe you have another file lurking someplace in Library or Application Support?

    like image 122
    Logachu Avatar answered Nov 08 '22 05:11

    Logachu