iOS下载文件并分享出去打印

最近做的项目需要下载一个授权书让用户打印签名之后拍照上传到服务器,其实下载文件没什么难度,大家都应该知道,网上一搜一大堆,但是下载下来的文件放在app里面的,不像安卓那样用户可以自己找到对应的路径,虽然用户不知道路径,但是我们程序是知道路径的,现在唯一的问题就是要把下载的这个文件导出(或者用弄出来更为贴切),最开始想直接调用系统浏览器下载文件然后系统浏览器会默认打开并且浏览器下方有自带的分享的那个按钮,但是总是出现莫名其妙的问题,所以最终还是放弃了,在弄了大概一天之后终于找到方法了,也还是调系统的那个分享如下图:

只不过现在不调用系统浏览器了而是在自己的应用程序里面弹出这个分享的选择框让用户选择分享的渠道了,主要是用到了 UIDocumentInteractionController 具体做法如下:

1,​添加委托方法如下图:


​2,初始化controller如下图:


​其中,documentController.UTI是我们需要分享出去的文件的类型,pdf就用 com.adobe.pdf,其他的类型可以参考https://developer.apple.com/library/mac/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html

参数 self.filePath 是我们下载下来将要分享的文件的路径,这个路径用户不知道,但是我们的程序是可以获取到的。​

3,实现委托方法,其实如果只是和我一样实现简单的把文件分享出去的话,那么就不用实现委托方法了,如果还需要实现其他功能的或者效果的话,那就在响应的委托方法里写吧。

4,​最终效果图如下:


​然后选择相应的工具,比如QQ或者微信(这两个鬼几本每人都会有)就可以分享出去了,分享出去的是一个pdf,这样也就实现了最终的功能了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,915评论 18 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,229评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,242评论 25 708
  • 我害怕 年华的逝去 一无所得 我害怕 人生的路 踽踽独行
    游戏_542b5阅读 167评论 0 0
  • 昨夜枕上秋霜 今日风寒露冷 惆怅啊,聋子听见哑巴说瞎子看见了爱情 爱情从一只耳到一只眼 你听得见全部的谎言 左耳的...
    耕天下阅读 226评论 0 1