代码之家  ›  专栏  ›  技术社区  ›  futureelite7 Adam Rosenfield

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

  •  4
  • futureelite7 Adam Rosenfield  · 技术社区  · 16 年前

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

    5 回复  |  直到 14 年前
        1
  •  5
  •   Henrik P. Hessel    16 年前

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

    编辑:

    在阅读了其他答案之后,这里的答案是:是的,自定义URL是可能的。是的,用它传输数据是可能的,但是,我认为,我不建议这个过程传输超过5Kb的数据。没有故障保护:没有事务,没有关系。

        2
  •  3
  •   davidav    14 年前

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

    然而,有一些警告。

    • 它似乎不能完全正常工作。核心数据数据库中的一些记录似乎没有被复制。以我的经验来看,哪一个记录不可能是随机的。可能与原店的一致性有关。

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

    调试有点痛苦,因为从一个idevice的更改转移到另一个idevice需要10-20秒,而且显然,在从同一个idevice上的一个应用程序更改到用同一个iCloud URL注册的另一个应用程序之前,需要无限期的时间。

    总之,你可以在第二个应用的in it上使用iCloud复制大多数记录,但是很难保持同步。

        3
  •  2
  •   Brad Parks    16 年前

    这可以在iPhone上使用自定义的URL方案来完成,但需要注意一些问题。

    如果使用自定义URL方案,则只有一个应用程序“拥有”数据。另一个应用程序必须从主应用程序导入数据…MobileOrchard做了一篇关于将数据从Lite应用程序移动到付费应用程序的文章。

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

    但最近我遇到了一个麻省理工学院授权的图书馆,叫做“swapkit”,可能有。 确切地 你也想要什么…从他们网站的概述来看,听起来不错,不过我还没试过:

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

    这可能有帮助,也可能没有帮助,但也可以查看“间谍电话”:

    间谍电话显示的数据类型 恶意应用程序可以在非 越狱iPhone。

    http://github.com/nst/SpyPhone

        4
  •  1
  •   Tim    16 年前

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

    -T

        5
  •  1
  •   Nimrod    16 年前

    还有系统粘贴板(我想是nspasteboard之类的,现在没时间检查),基本上就是剪贴板。我 认为 你可以把东西放在上面,然后用一个网址启动另一个应用,告诉另一个应用检查粘贴板。