一个应用程序可以访问另一个的sqlite表吗? - iPhone iOS

时间:2013-09-12 12:48:27

标签: ios sqlite

我认为这是一个愚蠢的问题;无论如何,要清除任何可能的假设,我会问:我有2个iOS应用程序:一个免费版本和另一个付费版本。比如说,用户正在使用免费版本,该版本在设备中有一些SQLite表。现在,用户安装应用程序的付费版本(不是应用程序内购买,而是单独的付费版本);现在,这个新安装的付费版本可以访问已经在设备中的免费应用程序的sqlite数据吗?

2 个答案:

答案 0 :(得分:2)

应用无法直接访问其他应用的数据。但是,在像您这样的情况下,您可以编写这两个应用来访问公共UIPasteboard。结合每个具有自定义网址方案的应用,您可以通过这种方式编写免费/付费应用,以便在两个应用之间传输数据。

以下是该过程的概述:

  1. App A(完整版)查找App B(精简版)的自定义URL方案。
  2. 如果找到,请在适当的地方显示“转移”按钮。
  3. 用户点击App A中的按钮
  4. App A启动应用B,其网址为“将您的数据发送给我”。
  5. App A退出,App B已启动。
  6. App B处理网址请求。
  7. App B将其数据打包并放入一个名为UIPasteboard(名称硬编码到App A和App B中)。
  8. 应用B启动应用A,其网址为“您有数据”。
  9. App B存在且App A重新启动。
  10. App A处理网址请求。
  11. App A从粘贴板获取数据,将其从粘贴板中删除,将数据安装到自身中并刷新。
  12. App A通知用户转移已完成。
  13. 付费应用应该有自定义方案,例如“myapppaid”,免费版应该有自定义方案“myappfree”。

答案 1 :(得分:0)

只是它与应用程序关联,然后没有直接,因为它只存在于仅适用于应用程序的应用程序沙箱中。如果它可以通过iCloud获得,那么您应该能够像一些应用程序如何管理和升级一样#'当他们实现新的独立版本时。