繁体   English   中英

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

[英]Core Data Store Sharing between iPhone Apps

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

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

编辑:

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

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

但是,有一些警告。

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

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

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

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

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

如果您使用自定义网址方案,则只有一个应用“拥有”数据。 另一个应用程序必须从主应用程序导入数据... 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

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

-t

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM