iOS - 将另一个应用程序中的文件导入我的应用程序

Fra*_*iet 8 objective-c ios swift

我想将另一个应用程序中的文档导入我的应用程序,就像在电子邮件中单击回形针时在MS Outlook iOS应用程序中完成的那样.然后,您将获得应用程序列表(Dropbox,google驱动器等)+最近的文档,您可以选择一个文档.

这是怎么做的/我需要使用app扩展吗?

谢谢Frank van Vliet

cr0*_*0ss 13

这是App Extensions的范围.要将"应用程序扩展"添加到项目,您必须导航到" 文件" - >" 新建" - >" 目标",并且您要查找的应用程序扩展名称为" 文档提供程序".请首先查看WWDC Video on App Extensions的最佳实践和App Extension编程指南.它将帮助您了解此功能.


编辑:

也许我让你走错了路,但在App Extension Programming Guide中,你可以找到问题的答案.我正在使用Xcode 7.0 Beta 4,但以下大多数屏幕截图在Xcode 6中应该看起来完全相同.*.首先,我开始使用Swift编写一个新的SingleView-Application,并将Document-Provider Extension作为目标添加到项目中,如上所述.

新的应用和目标

在使用新的文档提供程序目标构建应用程序之后,我最终主演混淆共享菜单,意识到我们在交叉目的时进行了交谈.关于这个目标的文档有点糊涂,但经过一段时间的测试和搜索,我意识到你要找的东西是文件选择器,而不是文件提供者.在此页面上,您可以找到相关章节:访问文档链接,您可以在其中获取文档选择器的示例.


由于这有望解决您的问题,因此我想简单地参考文档提供程序以及它可以添加到您的应用程序的高估值.

文档提供程序扩展包含两个独立的部分:文档选择器视图控制器扩展和文件提供程序扩展.文档选择器视图控制器扩展提供文档提供程序的用户界面.当主机应用程序为文档提供程序提供文档选取器视图控制器时,系统将显示此界面.此界面应允许用户浏览并从文档提供程序中选择文档和目标.此扩展还可以执行基本的导入和导出操作,而无需任何其他支持.

从上面提到的App Extension编程指南

因此,从另一个应用程序看,文档提供程序是一种导入功能.如果要为应用程序实现文档提供程序目标,则其他应用程序可以访问指定的数据.例如,您可以将应用程序中的文件附加到电子邮件(左侧屏幕截图)或"打开页面中的文件"(右侧屏幕截图).

在其他应用中打开文件

使用文件时,这对您的用户来说可能是一个不错的功能.


我还建议使用Share或Action Extension.

共享扩展程序为用户提供了一种与其他实体共享内容的便捷方式,例如社交共享网站或上传服务.例如,在包含"共享"按钮的应用程序中,用户可以选择代表社交共享网站的共享扩展,然后使用它来发布评论或其他内容.

这听起来并不像你想要实现的东西,但目前甚至Apple也使用Share Extension来处理各种事情.

Action扩展可帮助用户查看或转换源自主机应用程序的内容.例如,Action扩展可以帮助用户编辑他们在文本编辑器中查看的文档中的图像.另一种类型的Action扩展可能允许用户以不同的方式查看所选项目,例如以不同格式查看图像或以不同语言阅读文本.

您说您要将其他应用中的文档导入到您的应用中.这听起来很方便.让我们假设用户在iCloudDrive应用程序中打开文档"loremIpsum.txt",并希望将其共享给您的新应用程序.

行动延伸

现在,您必须编写代码来处理由文档选择器打开时导入的文件,您可以重复使用此代码轻松地将操作扩展添加到Share-/Action-Menu.我希望这会对你有所帮助并解决不止一个问题.

最好的祝福

cr0ss