1

我正在寻找有关在同一设备上的两个 iOS 应用程序之间共享相对复杂的数据对象的最佳工具的建议。

我有一个房地产投资应用程序,我们称之为应用程序 A,它允许用户输入有关潜在投资物业的数据并计算重要的财务指标,例如投资回报率。所有的属性数据都使用 Core Data 保存在一个我们称为 Property 的对象中。

我正在开发应用程序 B,它从应用程序 A 导入属性对象并创建用户可以发送给其他投资者的 PDF 报告。Property对象不需要持久化在app B中,只是临时用来创建pdf文件。我希望用户能够从应用 B 打开应用 A 并选择一个属性,类似于照片选择器。

我最初的直觉是使用 URL 方案来解决这个问题。这是满足我需求的最佳解决方案吗?

4

1 回答 1

0

选项并不多,而且真正要求两个应用程序由同一开发人员开发的选项很少(这里似乎就是这种情况)。

最简单的方法是将共享的、私有的、命名的粘贴板 ( UIPasteboard) 与自定义 URL 方案结合使用。

应用 A 可以将数据放入粘贴板,然后使用其自定义 URL 方案启动应用 B。当然,必须对这两个应用程序进行编码,以了解数据如何写入粘贴板以及粘贴板的名称。虽然粘贴板的名称可以作为自定义 URL 的一部分传递。

一旦应用 B 生成 PDF,就会发生相反的过程。应用 B 可以将 PDF 放入粘贴板,然后使用其自定义 URL 方案启动应用 A。然后应用程序 A 可以从粘贴板中获取 PDF 并将其呈现给用户。

或者,如果有意义,应用程序 B 可以使用 aUIDocumentInteractionController让用户选择如何处理 PDF。这当然取决于您的需求。

于 2014-07-12T03:58:46.297 回答