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

时间:2011-08-12 02:06:49

标签: ios objective-c iphone cocoa-touch

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

2 个答案:

答案 0 :(得分:16)

UIDocumentInteractionController是你的朋友。

基本上它的工作原理如下:

  1. App 1注册为能够处理XYZ类型的文件
  2. App 2实现了UIDocumentInteractionController,并为用户提供了“将文件发送到App1”的选项(我相信这必须是用户激活的)
  3. App 1实现-(BOOL)application:openURL:sourceApplication:annotation:并处理传输的文件,该文件将保存在Documents/Inbox目录中。从那里你可以将文件复制到别处,然后对其进行操作,确保通过删除保存在收件箱文件夹中的原始文件进行清理。
  4. 可用的课程参考here

    文档互动编程指南here

答案 1 :(得分:3)

如果您正在开发这两个应用程序,只要您的包标识符符合相同的包种子ID,您就可以在共享链中存储共享信息。有关详细信息,请参阅here。当然,如果您同时制作两个应用程序,也可以使用URL方案传入base64编码数据。

更新:如下面的rog所述,UIDocumentInteractionController非常棒,但它仅适用于4.2及更高版本,因此如果你想使用它,你将削减大部分用户。