如何在同一个iOS设备上将文件从一个应用程序传输到另一个应用程序?

我正在写一个iOS应用程序,将由另一个应用程序在另一个应用程序中保存的文件转换为另一种格式。 如何在同一个设备上将文件从一个应用程序传输到另一个应用程序? 请注意,这些文件是非文本文件。

UIDocumentInteractionController是你的朋友。

基本上它是这样工作的:

  1. 应用程序1注册为可以处理XYZtypes的文件
  2. 应用程序2实现UIDocumentInteractionController ,并将给用户“发送文件到App1”的选项(我相信这必须是用户激活)
  3. 应用程序1实现-(BOOL)application:openURL:sourceApplication:annotation:并处理传输的文件,这些文件将保存在您的Documents/Inbox目录中。 从那里你可以将文件复制到其他地方,然后对其进行处理,确保通过清除保存在“收件箱”文件夹中的原始文件进行清理。

类参考可在这里

文档交互编程指南在这里提供

如果您正在开发这两个应用程序,只要您的包标识符符合相同的包种子标识符,就可以将共享信息存储在钥匙串中。 在这里看到更多的信息。 当然,如果您同时创build了这两个应用程序,那么也可以使用URLscheme传递base64编码数据。

更新:正如下面所说的rog,UIDocumentInteractionController是很好的,但它只适用于4.2及以上版本,所以如果你想使用它,你正在剪掉你的大部分用户。