iPhone应用程序之间的核心数据存储共享

时间:2010-01-11 09:09:44

标签: iphone objective-c iphone-sdk-3.0 core-data

是否可以在同一开发者签署的两个不同iPhone应用之间共享核心数据存储?我想开发一个应用程序,其中一个iPhone应用程序将保存数据流,然后可以由其他应用程序读取。这甚至可能吗?非常感谢!

5 个答案:

答案 0 :(得分:5)

不,那是不可能的。 iPhone应用程序在沙箱中运行,但无法访问其他应用程序数据存储。

编辑:

在此处阅读其他答案后:是的,可以使用自定义网址。是的,它可以用它传输数据,但是,我认为,我不建议这个程序传输超过5kb的数据。没有故障保险:没有交易也没有关系。

答案 1 :(得分:3)

现在,在带有iCloud的iOS 5中,您可以使用相同的iCloud URL注册这两个应用。在初始化第二个应用程序时,第一个应用程序的核心数据存储更多/更少地复制到第二个应用程序。这可能需要一段时间---所以你需要在后台线程中启动持久性存储控制器,否则你的应用程序将被看门狗定时器杀死。

然而,有一些警告。

  • 它似乎没有完全正确地工作。一些记录形成的核心数据数据库似乎没有被复制。根据我的经验,似乎随机的记录没有成功。也许它与原始商店的一致性有关。

  • 之后,这些应用程序似乎没有保持同步,这与两个不同的iDevices上的相同应用程序相反。

调试有点痛苦,因为从一个iDevice转换到另一个iDevice需要10到20秒,并且显然无限期地从同一个iDevice上的一个应用程序进行更改之前将其转移到另一个注册的应用程序相同的iCloud URL。

总而言之 - 你可以在第二个应用程序的init上使用iCloud复制大多数记录,但很难让它们保持同步。

答案 2 :(得分:2)

这可以使用iphone上的自定义网址方案来完成,但有一些注意事项。

如果您使用自定义网址方案,则只有一个应用“拥有”该数据。另一个应用程序必须从主应用程序导入数据... Mobile Orchard做了一篇关于将数据从精简版应用程序移动到付费应用程序的文章

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

但是我最近遇到了一个名为“SwapKit”的麻省理工学院许可库,它可以完全你想要的东西......听起来很不错,但是我还没试过它:

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

这可能有也可能没有任何帮助,但也请查看“SpyPhone”:

  

SpyPhone显示了一种数据   流氓应用程序可以收集非   越狱iPhone。

http://github.com/nst/SpyPhone

答案 3 :(得分:1)

您可以使用自定义网址方案将数据发送到第二个应用。

-t

答案 4 :(得分:1)

还有系统粘贴板(我认为它是NSPasteboard或其他东西,现在没时间检查),这基本上就是剪贴板。我认为你可以把东西放在上面,然后启动另一个带有URL的应用程序,告诉其他应用程序检查粘贴板。