【问题标题】:Core Data Store Sharing between iPhone AppsiPhone 应用程序之间的核心数据存储共享
【发布时间】:2010-01-11 09:09:43
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    编辑:

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

    【讨论】:

    • 和我想的一样。但问也无妨。
    【解决方案2】:

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

    但是,有一些注意事项。

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

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

    调试有点麻烦,因为从一个 iDevice 的更改转移到另一个 iDevice 需要 10--20 秒,而且显然是无限期地从同一 iDevice 上的一个应用更改到另一个注册的应用相同的 iCloud URL。

    总而言之——您可以在第二个应用程序的初始化时使用 iCloud 复制大多数记录,但很难使它们保持同步。

    【讨论】:

      【解决方案3】:

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

      如果您使用自定义 url 方案,则只有一个应用“拥有”数据。另一个应用程序必须从主应用程序导入数据...Mobile Orchard 对此做了一篇文章,用于将数据从轻量级应用程序移动到付费应用程序

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

      但我最近遇到了一个名为“SwapKit”的 MIT 许可库,它可能也可以完全完成您想要的操作...从他们网站上的概述中听起来不错,尽管我没有尝试过它:

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

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

      SpyPhone 显示的数据类型 流氓应用程序可以收集非 越狱的 iPhone。

      http://github.com/nst/SpyPhone

      【讨论】:

        【解决方案4】:

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

        -t

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-12-21
            • 1970-01-01
            • 2010-12-14
            • 1970-01-01
            • 2017-03-23
            • 1970-01-01
            相关资源
            最近更新 更多