[英]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做了一篇关于将数据从精简版应用程序移动到付费应用程序的文章
但是我最近遇到了一个名为“SwapKit”的麻省理工学院许可库,它可能完全符合您的要求...听起来很不错,但我还没有尝试过:
http://infinite-labs.net/swapkit/
这可能有也可能没有任何帮助,但也可以查看“SpyPhone”:
SpyPhone显示了流氓应用程序可以在非越狱iPhone中收集的数据类型。
您可以使用自定义URL方案将数据发送到第二个应用程序。
-t
还有系统粘贴板(我认为它是NSPasteboard或其他东西,现在没时间检查),这基本上就是剪贴板。 我认为你可以把东西放在上面,然后启动另一个带有URL的应用程序,告诉其他应用程序检查粘贴板。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.