2013-04-08 3 views
1

J'ai deux applications qui utilisent un assortiment de noms UIPasteboard comme un schéma pour partager des données entre eux.UIPasteboard non nettoyé

Les tables de montage utilisent l'inverse convention de nommage DNS, comme suit: com.mycompany.myapp.stuffx, com.mycompany.myapp.stuffy

Toutes les applications qui utilisent ces appartiennent à l'tables de montage espace de noms com.mycompany.

Lorsque je désinstalle l'application A, les données stockées dans les tables de montage sont conservées comme prévu. Après avoir désinstallé l'application B, en supprimant toutes les applications qui utilisent les tables de montage, j'attends que les données/tableaux de montage associés soient nettoyés, comme le suggère la documentation de la propriété persistante. Cependant, cela n'arrive pas; Après avoir réinstallé une application, il est toujours possible d'accéder aux anciennes données de la table de montage. Les tables de montage sont créées par l'application qui en a besoin en premier et ont la propriété persistent définie sur true. Est-il possible de s'assurer que les vieilles données du carton sont nettoyées si rien ne l'utilise plus?

Répondre

1

On dirait que vous devriez ouvrir un bug avec Apple à ce sujet.

http://bugreport.apple.com

Comme vous avez dit la documentation indique que la table de montage doit être retiré lorsque l'application qui l'a créé est désinstallée, et que ça ne se passe pas pour vous.

+0

C'est ce que je vais faire. Merci! – jverrijt

+0

@jverrijt que disent-ils? Il se comporte toujours comme vous l'avez décrit dans votre problème. Im utilisant l'iPhone 5S iOS 7.1 –

0

je pense que ce comportement est normal

« éliminer efficacement toutes les applications qui utilisent les » tables de montage - et comment le système censé savoir?

Je suggère d'effectuer une action spéciale lors du premier lancement après l'installation, vous pouvez tester si vous êtes la première application de votre groupe d'application spéciale à installer et effacer les tables de montage

+0

La documentation d'Apple indique "Une tablette d'application persistante est supprimée lorsque l'application qui l'a créée est désinstallée.". C'est la documentation de la propriété persistante sur UIPasteboard. – stevex

+0

(à partir de ces documents) Si l'application A crée la table de montage, je m'attendrais à ce qu'elle soit supprimée lorsque A est supprimé. même si l'application B l'a lu ou écrit depuis. (pas post-exister comme vous vous attendez) – bshirley

+0

Je suis d'accord avec @stevex, que vous devriez ouvrir cela comme un bug. De préférence après l'avoir recréé avec les applications les plus minimes qui peuvent le recréer. - Ils pourraient très bien juste modifier les docs, donc en attendant, je code une solution de contournement. – bshirley

Questions connexes