2012-02-16 3 views
2

J'ai une application qui a été rejetée parce que je télécharge des images sur Internet, et l'évaluateur de l'App Store indique que ces applications ne doivent pas être sauvegardées (ce que je ne suis pas du tout d'accord, mais Je fais). Donc, j'ai mis tous ces fichiers dans un répertoire sous/Documents, et j'ai ajouté l'attribut ne pas sauvegarder aux fichiers du sous-répertoire (mais j'ai oublié de le faire sur le sous-répertoire lui-même). Lorsque j'ai soumis à nouveau mon application, l'application a été rejetée à nouveau car l'auteur de la critique m'a dit que j'utilisais encore trop d'espace et que j'avais l'impression que mon attribut de sauvegarde n'était pas respecté.Empêcher la sauvegarde de fichiers dans iOS

Je pense que je peux connaître le problème, mais je voudrais obtenir une confirmation avant d'aller au processus de re-soumettre pour mon application encore une fois de plus.

En ce moment, ma structure de répertoire ressemble:

Documents/ 
    subdir.derived/ 
     <a bunch of files> 

Je mets le ne attribuons pas de sauvegarde sur les fichiers, mais pas sur « subdir.derived ». Lorsque je relis la documentation d'Apple, je me demande si l'attribut ne pas sauvegarder fonctionne uniquement au niveau supérieur du répertoire "Documents /", et non sur les fichiers des sous-répertoires.

Est-ce que quelqu'un peut confirmer que c'est vrai? Si j'ajoute l'attribut do not backup au "subdir.derived", est-ce que cela résoudra mon problème?

Merci, Ron

+0

Note ... Merci pour les suggestions utiles sur le répertoire des caches, mais je pense que les images que j'utilise sont critiques pour utiliser mon application, et selon les directives d'Apple, le répertoire caches ne doit pas être utilisé pour les données critiques. hors ligne. – Ron

Répondre

0

Vous devez utiliser les fichiers mis en cache qui peut autrement être recréés dans le répertoire temporaire de l'application. Le répertoire temporaire ne sera pas sauvegardé et pourra être supprimé par iOS comme bon lui semble.

+0

Merci pour la réponse. Je suppose que je pourrais utiliser le répertoire "caches", même si les images font partie d'une application d'étude, et elles ne devraient jamais être supprimées. Dans mon esprit, ils devraient également être sauvegardés (avec lesquels Apple n'est pas d'accord). Imaginez que vous étudiez la médecine et que vous ayez un ensemble d'études avec un tas d'images de choses que vous étudiez.Dans le répertoire des caches, ces images pourraient disparaître spontanément dans des situations de stockage faible et vous ne pourrez plus étudier. – Ron

+0

Juste un autre commentaire ... la raison pour laquelle je pense qu'ils devraient aussi être sauvegardés est que les images sont celles que l'utilisateur recherche et choisit d'étudier. Je peux enregistrer un pointeur sur l'emplacement de l'image, mais si l'utilisateur restaure son périphérique ou met à niveau son périphérique, ces images peuvent ne plus exister et leurs ensembles d'étude deviendront inutiles. – Ron

+0

Travailler avec l'App Store peut être SOOO frustrant. Personne à qui parler, et très peu de commentaires des critiques. Juste "Rejeté". Soupir!!! – Ron

3

J'utiliserais le répertoire Library/Caches pour les images téléchargées. C'est pourquoi il existe, et il n'est pas automatiquement sauvegardé, donc les critiques ne s'en plaindront pas. Il a également un raccourci pratique: NSCachesDirectory.

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); 
NSString *cacheDir = [paths objectAtIndex:0]; 
+0

Merci beaucoup pour la réponse ... voir les commentaires que j'ai ajoutés à la réponse de #picciano – Ron

3

Lorsque nous avons obtenu une note de rejet similaire, nous avons déplacé tous nos fichiers de cache ~/Documents-~/Library/PrivateDocuments et le flag do-not-sauvegarde dans le répertoire PrivateDocuments. C'était suffisant pour plaire aux critiques App Store.

Pourquoi pas ~/Library/Caches? Bien que les fichiers sont techniquement un cache, nos utilisateurs sont susceptibles d'être en mesure d'y accéder en mode hors connexion. Depuis ~/Library/Caches peut être effacé sans préavis par le système d'exploitation, nos utilisateurs peuvent trouver de manière inattendue que le contenu qu'ils ont pris la peine de télécharger pour l'accès hors connexion a disparu.

Le nom de répertoire PrivateDocuments a été explicitement suggéré par le critique App Store, soit dit en passant.

+0

Merci beaucoup pour vos commentaires! Je vais essayer une fois de plus pour voir si cela satisfait l'approbateur. – Ron

Questions connexes