问题:
构建套件性质的企业应用程序,并且需要能够将数据从一个应用程序传递到另一个应用程序。示例:App1 是一个产生库存清单的条码阅读器。App2 需要 App1 刚刚生成的相同库存清单信息的“新”副本,以完成生成采购订单的目标。这两个应用程序和数据库是两个大的,可以挤在一个应用程序中,而且该套件将随着越来越多的应用程序而继续增长。
理解:
我完全理解“每个”应用程序都在它自己的沙箱中。但是,在阅读有关新 UIDocumentInteractionController API 的文档时,应用程序似乎可以稍微跳出沙箱,以“读入”、“查看”或“打开”未分开的文档捆绑包或在应用程序中创建。
数据流:
我试图保持简单。我一直在使用从 Apple 下载的 DocInteraction 示例应用程序,以及另一个名为 App1 的应用程序来尝试使用一个简单的文本文件。在 App1 中,我创建了一个简单的 txt 文件,并将其保存到文档文件夹中。(但这仍然在应用程序的沙箱内?)。在 DocInteraction 修改示例中,我一直在尝试寻找一种方法来“查看”、“打开”或更好地“读取”创建的 txt 文件。如果我可以在两者之间传递一个简单的 txt 文件,我可以包含一个 CSV 结构,以便在打开应用程序时更新每一侧的数据库。
我尝试使用启动选项键,但没有成功。
简而言之,我似乎无法理解:
- App1的数据需要去哪里?
- 如何在另一个应用程序中找到数据,比如 App2?
- 您如何“打开”存在于另一个应用程序沙箱中的文件?
最终结果:我试图远离
文档交互文档大纲:
- 预览文档或展示选项
- 注册您对文件类型的支持
- 从其他应用程序打开文件
- 显示和打印快速查看预览
我最感兴趣的是“从其他应用程序打开文件”。它指导我通过传入键的字典值来使用 application:didFinishLaunchingWithOptions: 方法。这就是我迷路的地方??如何设置密钥,以便它知道要查找的“WHERE”和“WHAT”?而且我仍然不清楚 App1 应该将信息保存到哪个正确的导演,以便让键指向正确的位置?
在 iBooks 中打开电子邮件文件附件和打开 pdf 文件并不是您可以使用此 API 的唯一地方,否则 Apple 不会完成所有工作,它们已经允许从 App-To-App 进行对话。
注意: 我不是想让 App1 直接将数据传输到 App2 的文件中。我认为Apple根本不允许这样做!我试图让 App1 压缩其数据,将其保存在适当的位置,因此当用户决定使用 App2 时,数据可以通过“读入”数据供 App2 使用。
如果有人有一个示例应用程序、教程,甚至是如何让这个工作的可靠想法,我将非常感谢您的帮助。
-谢谢!
PS 拥有 1,500 或更高声誉的人请为 stackoverflow 创建一个“UIDocumentInteraction”标签!