2010-01-11 14 views
4

Est-il possible de partager un magasin de données de base entre deux applications iPhone différentes signées par le même développeur? Je voudrais développer une application où une application iPhone va enregistrer un flux de données, qui peut ensuite être lu par l'autre application. Est-ce seulement possible? Merci beaucoup!Partage de base de données entre applications iPhone

Répondre

5

Non, ce n'est pas possible. Une application iPhone s'exécute dans un sandbox et n'a pas accès à un autre magasin de données d'applications.

Edit:

Après avoir lu les réponses des autres ici: Oui, les URL personnalisées sont possibles. Et oui, il est possible de transférer des données avec, mais, à mon avis, je ne recommanderais pas cette procédure pour transférer plus de 5kb de données. Il n'y a pas de failsafe: Pas de transactions et pas de relations.

+0

Juste comme je pensais. Mais ne ferait pas de mal à demander. – futureelite7

+0

Ne fait jamais mal. Effectivement :) –

1

Vous pouvez utiliser un schéma d'URL personnalisé pour envoyer les données à la seconde application.

-t

2

Cela peut être fait en utilisant un schéma d'URL personnalisé sur l'iPhone, avec quelques mises en garde.

Si vous utilisez un système d'URL personnalisé, une seule application « possède » les données. L'autre application devrait importer des données de l'application principale ... Mobile Orchard a fait un article sur ce transfert de données d'une application Lite à payer pour l'application

http://www.mobileorchard.com/lite-to-paid-iphone-application-data-migrations-with-custom-url-handlers/

Mais je suis récemment tombé sur un MIT bibliothèque sous licence appelée « SwapKit » qui peut faire exactement ce que vous voulez aussi bien ... Ça sonne bien de la vue d'ensemble sur leur site, mais je l'ai pas essayé:

http://infinite-labs.net/swapkit/

et cela peut ou peut ne pas être d'aucune aide, mais vérifiez "S pyPhone » aussi:

SpyPhone montre le type de données une application escroc peut recueillir dans un non iPhone jailbreaké.

http://github.com/nst/SpyPhone

1

Il y a aussi le système de carton (je pense qu'il est NSPasteboard ou quelque chose, pas le temps de vérifier en ce moment) qui est essentiellement le presse-papiers. I pense vous pouvez mettre des choses dessus, puis lancer une autre application avec une URL qui indique à l'autre application de vérifier le carton.

3

maintenant dans iOS 5 avec iCloud vous pouvez enregistrer les applications avec le même URL iCloud. Lors de l'initialisation de la deuxième application, le magasin de données de base du premier est plus ou moins copié dans le second. Cela peut prendre pendant que --- vous devez donc démarrer le contrôleur de stockage persistant dans un thread d'arrière-plan, ou votre application sera supprimée par un minuteur de surveillance.

Cependant, il y a quelques mises en garde.

  • Cela ne semble pas fonctionner complètement correctement. Certains enregistrements de la base de données de base ne semblent pas être copiés. Dans mon expérience, il semble aléatoire quels enregistrements ne le font pas. Peut-être que c'est lié à la cohérence du magasin original.Par la suite, les applications tho ne semblent pas rester synchronisées, contrairement à la même application sur deux iDevices différents.

Debugging est un peu d'une douleur, car il faut 10--20 secondes avant le passage d'un iDevice est transféré à une autre, et apparemment indéfiniment avant un changement d'une application sur le même iDevice fait à une autre application enregistrée avec la même URL iCloud. Donc, en résumé --- vous pouvez copier la plupart des enregistrements en utilisant iCloud sur init de la deuxième application, mais il est difficile de les synchroniser.

Questions connexes