Lorsqu'un fichier est passé dans une application iOS par le système d'interaction des documents, une copie du fichier est stockée dans le dossier Documents/Inbox
du bundle de l'application. Après que l'application ait traité le fichier, il est évident qu'elle doit supprimer le fichier de Documents/Inbox
, sinon le dossier continuera de croître et gaspillera de l'espace de stockage sur le périphérique.
Cette solution simple (A) me met mal à l'aise, cependant, car mon application doit interagir avec l'utilisateur avant de finir le traitement et la suppression du fichier. Si l'utilisateur suspend l'application pendant cette période d'interaction, et que l'application est ensuite arrêtée alors qu'elle est en arrière-plan, le fichier obsolète ne sera pas supprimé lorsque l'application redémarrera la prochaine fois. Bien sûr, je peux améliorer mon application pour couvrir ce scénario, mais je crains qu'il y aura toujours un autre cas limite qui laissera un dossier Documents/Inbox
"non propre".
Une solution préférable (B) serait donc de supprimer le dossier Documents/Inbox
à un moment approprié (par exemple, lorsque l'application se lance normalement, c'est-à-dire non via l'interaction des documents). Cela me met encore mal à l'aise car j'accéderais à un chemin de système de fichiers dont l'emplacement n'est documenté nulle part officiellement. Par exemple, mon application serait cassée si dans une future version d'iOS, le système d'interaction des documents ne place plus les fichiers dans Document/Inbox
.
Donc mes questions sont:
- Recommanderiez-vous la solution A ou B?
- Utilisez-vous une approche différente et pourriez-vous peut-être donner un aperçu de la manière dont votre application gère
Document/Inbox
? - Enfin, connaissez-vous un morceau de documentation officielle d'Apple qui couvre le sujet et que j'aurais négligé?