2014-09-14 7 views
1

L'application sur laquelle je travaille utilise généralement un seul magasin SQL dans Core Data pour contenir un jeu de données de travail pour l'application. Cependant, il peut y avoir un certain nombre de petits magasins distincts dont l'origine soit commeOù stocker le contenu acheté et les données exportées

  • via l'application du contenu acheté, ou
  • des sous-ensembles de l'ensemble de données Exporté de travail qui peut être réutilisé de temps en temps.

Elles seront toujours constituées d'un seul fichier sqlite (WAL désactivé). Les achats In-App peuvent toujours être re-téléchargés, mais il est possible que les données exportées soient définitivement perdues (puisqu'elles peuvent choisir de supprimer définitivement les données après leur exportation). Intuitivement, puisque les données exportées ne peuvent pas être recréées, il devrait aller dans un sous-répertoire du dossier des documents. Mais je ne suis pas sûr que Apple serait d'accord à ce sujet.

Je ne sais pas où le contenu acheté téléchargé doit être sauvegardé, car techniquement, il peut être re-téléchargé à tout moment. Donc, ma question est, où dans le système de fichiers iOS devrais-je mettre ceux-ci (iOS7 et au-delà).

Répondre

1

Il n'existe aucune directive publique officielle sur l'emplacement du contenu acheté via IAP sur le système de fichiers. Cependant, l'expérience avec des commentaires Directives de stockage de données a indiqué que:

  • NSDocumentsDirectory ne doit contenir que des données créées ou modifiées par l'utilisateur
  • (certaines) données non-utilisateurs peuvent encore être stockées dans NSDocumentsDirectory si elle a le NSURLIsExcludedFromBackupKey ensemble d'attributs. En général, vous devriez toujours essayer d'éviter cela.
  • Le contenu d'achat intégré est considéré comme «données d'application restaurables» et doit être stocké en conséquence. Le répertoire de support d'application est un endroit où il pourrait être stocké.

Si vos données exportées ont été exportées par une action initiée par l'utilisateur et les données à ce moment-là « appartient » à l'utilisateur, le stockage que les données exportées dans le NSDocumentsDirectory devrait être bon. En cas de doute, stockez-le dans le répertoire de support de l'application ou dans le répertoire des caches. Sachez que dans des conditions de faible espace, les données peuvent être purgées par le système.

Questions connexes