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,这样也就实现了最终的功能了。